文章目录
- 云原生概念
- Kubernetes
- 容器和微服务
- k8s
- 服务网格
- 边缘计算
- 云边端
云原生概念
重点在以下三个方面
- 应用容器化
- 面向微服务架构
- 应用支持容器的编排调度
介绍:
- 这些技术能够构建容错性好、易于管理和便于观察的松耦合系统。结合可靠的自动化手段,云原生技术使工程师能够轻松地对系统作出频繁和可预测的重大变更。
- 云原生技术有利于各组织在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用。云原生的代表技术包括容器、服务网格、微服务、不可变基础设施和声明式API。
Kubernetes
容器与微服务以及自动化管理
容器和微服务
容器:
容器是继虚拟机之后更高层次的抽象,在这层抽象中,整个应用程序的每个组件被单独打包成一个个独立的单元,这个单元就是所谓的容器。通过这种方式,可以将代码和应用服务从底层架构中分离出来,实现了完全的可移植性(在任何操作系统或环境上运行应用的能力)
微服务
微服务,将应用程序的各个组件拆分并打包成独立的服务,这样每个组件都可以很容易地被替换、升级、调试。
Docker
- Docker 是最常用的容器化工具,也是最流行的容器运行时。
- Docker 开源于 2013 年。用于打包和创建容器,管理基于容器的应用。所有 Linux 发行版、Windows 和 macO都支持 Docker。
- 还有其他的容器化工具,如 CoreOS rkt、Mesos Containerizer 和 LXC。但是目前,绝大多数的容器化应用都是在Docker允许
k8s
K8s:
-
kubernetes可以一次性将变更传递给所有受控容器
-
kubernetes同时可以轻松地调度可用容器的方法,这个过程且自动化的
Kubernetes 运行在节点 (node) 上,节点是集群中的单个机器。如果你有自己的硬件,节点可能对应于物理机器,但更可能对应于在云中运行的虚拟机。节点是部署你的应用或服务的地方,是 Kubernetes 工作的地方。有 2 种类型的节点 ——master 节点和 worker 节点,所以说 Kubernetes 是主从结构的。
主节点是一个控制其他所有节点的特殊节点。一方面,它和集群中的任何其他节点一样,这意味着它只是另一台机器或虚拟机。另一方面,它运行着控制集群其他部分的软件。它向集群中的所有其他节点发送消息,将工作分配给它们,工作节点向主节点上的 API Server 汇报。
Master 节点本身也包含一个名为 API Server 的组件。这个 API 是节点与控制平面通信的唯一端点。API Server 至关重要,因为这是 worker 节点和 master 节点就 pod、deployment 和所有其他 Kubernetes API 对象的状态进行通信的点。
Worker 节点是 Kubernetes 中真正干活的节点。当你在应用中部署容器或 pod(稍后定义)时,其实是在将它们部署到 worker 节点上运行。Worker 节点托管和运行一个或多个容器的资源。
Kubernetes 中的逻辑而非物理的工作单位称为 pod。一个 pod 类似于 Docker 中的容器。记得我们在前面讲到,容器可以让你创建独立、隔离的工作单元,可以独立运行。但是要创建复杂的应用程序,比如 Web 服务器,你经常需要结合多个容器,然后在一个 pod 中一起运行和管理。这就是 pod 的设计目的 —— 一个 pod 允许你把多个容器,并指定它们如何组合在一起来创建应用程序。而这也进一步明确了 Docker 和 Kubernetes 之间的关系 —— 一个 Kubernetes pod 通常包含一个或多个 Docker 容器,所有的容器都作为一个单元来管理。
服务网格
Service Mesh 架构图
- 服务网格会在每个 pod 中注入一个 sidecar代理,该代理对应用程序来说是透明,所有应用程序间的流量都会通过它,所以对应用程序流量的控制都可以在服务网格中实现。
- 在云原生架构下,容器的使用给予了异构应用程序的更多可行性,Kubernetes增强的应用的横向扩容能力,用户可以快速的编排出复杂环境、复杂依赖关系的应用程序,同时开发者又无须过分关心应用程序的监控、扩展性、服务发现和分布式追踪这些繁琐的事情而专注于程序开发,赋予开发者更多的创造性
- 目前火热的是由 Google、IBM 和 Lyft 开源的微服务管理、保护和监控框架Istio
边缘计算
- 为应对云计算存在的挑战、网络压力和提升用户体验满足业务需求,业界提出将云计算平台迁移至网络边缘,即边缘计算
- 边缘计算通过将计算、存储等能力从云数据中心扩展到离数据源较近的网络边缘而不是集中式服务器或基于云的位置对客户端数据的处理和计算
- 简而言之,边缘计算使计算资源、数据存储和企业应用程序更接近人们实际消费信息的地,并且可支持在网络边缘执行深度学习、强化学习等人工智能算法,避免计算任务从网络边缘传输到远程数据中心的超长网络传输延迟,满足高实时性物联网应用(例如,自动驾驶、无人机、增强现实等)的要求。
- 火爆框架:kubeEdge,用于将原生容器化应用程序编排功能扩展到边缘主机。它建立在 kubernetes
之上,为云和边缘之间的网络、应用程序部署和元数据同步提供基础架构支持。
云边端
“云边协同”,终端负责全面感知,边缘负责局部的数据分析和推理,而云端则汇集所有边缘的感知数据、业务数据以及互联网数据,完成对行业以及跨行业的态势感知和分析。
“云”是传统云计算的中心节点,是边缘计算的管控端;
“边”是云计算的边缘侧,分为基础设施边缘和设备边缘;
“端”是终端设备,如手机、智能家电、各类传感器、摄像头等。
通过将网络转发、存储、计算、智 能化数据分析等工作放在边缘处理
将超大规模计算、存储和非时延敏感等任务放在云端,云计算与边缘计算的相互配合实现云边协同、全网算力调度和全网统一管控等能力,才能真正实现无处不在的云。