Kubernetes架构:11个核心组件解释道

Kubernetes是什么?

Kubernetes允许您创建、部署、管理和应用程序容器跨一个或多个主机集群规模。

环境运行Kubernetes由以下主要部分:

  • Kubernetes控制飞机管理Kubernetes集群上运行的工作负载。包括组件(比如API服务器、调度程序和控制器的经理。
  • Kubernetes数据平面机器能够运行集装箱工作负载。每个节点由kubelet管理,代理接收命令从控制飞机。
  • 豆荚豆荚是Kubernetes集装箱工作负载管理提供的最小单位。pod通常包括几个容器,形成一个功能单位或microservice。
  • 持久存储——存储Kubernetes节点上是短暂的,当舱关闭删除。这可能很难有状态应用程序运行。Kubernetes提供了持久的卷(PV)机制,允许集装箱应用程序存储数据超出吊舱或节点的生命周期。
    这是一系列广泛的指南的一部分CI / CD

在本文中,您将学习:

Kubernetes体系结构概述

Kubernetes集群有两个主要组件(控制平面和数据平面,机器用作计算资源。雷竞技rabet官网

  • 控制飞机主机组件用于管理Kubernetes集群。
  • 工作者节点可以虚拟机(vm)或物理机器。一个节点主机豆荚,运行一个或多个容器。

Kubernetes节点可以运行在普通或低成本的现场实例计算实例,了解更多我们的指南Kubernetes现货实例

kubernetes集群架构图

图片来源:Kubernetes

Kubernetes核心组件:控制平面

控制平面作为每个Kubernetes集群的神经中枢。它包括组件可以控制您的集群,它的状态数据,其配置。

Kubernetes控制平面负责确保Kubernetes集群达到所需的状态,用户以声明的方式定义的。控制平面与个人使用kubelet集群节点,一个代理部署在每个节点上。

这里是控制飞机的主要部件:

1。kube-apiserver

提供了一个API,可以作为Kubernetes控制飞机的前端。它负责处理内部和外部requests-determining请求是否有效,然后处理它。可以通过访问API kubectl像kubeadm命令行界面或其他工具,并通过REST调用。

2。kube-scheduler

该组件负责调度豆荚在特定节点根据自动化工作流和用户定义的条件,包括资源请求,担忧像亲和力,又会损害或纵容,优先级、持久的卷(PV)等等。

3所示。kube-controller-manager

Kubernetes控制器管理器是一个显示器和控制回路调节Kubernetes集群的状态。它接收集群和对象的当前状态信息,并将指令发送给移动集群的集群运营商的期望状态。

控制器管理器负责几个控制器处理各种自动化活动在集群或豆荚层面,包括复制控制器,控制器名称空间,服务帐户控制器,部署,statefulset, daemonset。

4所示。etcd

一个键-值的数据库,其中包含关于您的集群状态和配置数据。Etcd容错和分布式。

5。cloud-controller-manager

该组件可以嵌入特定于云的控制逻辑,例如,它可以访问云服务提供者的负载均衡器。它允许您连接Kubernetes集群API的一个云提供商。此外,它有助于脱钩Kuberneters集群组件与云平台交互,所以元素集群内不需要知道每个云提供者的实现细节。

这cloud-controller-manager只运行控制器特定于云提供商。它不需要本地Kubernetes环境。然而logically-independent,它使用多个控制回路组合成一个二进制文件,这可以作为一个单独的运行过程。它可以用来添加比例对云虚拟机集群通过添加更多的节点,并利用云提供商高可用性和负载平衡能力提高韧性和性能。

Kubernetes核心组件:工人节点

6。节点

节点是物理或虚拟机器可以运行豆荚Kubernetes集群的一部分。一个集群可以扩展到5000个节点。一个集群规模的能力,您可以添加更多的节点。

7所示。豆荚

舱作为一个应用程序实例,并被认为是最小单位Kubernetes的对象模型。每个吊舱由一个或多个紧密耦合的容器,和配置管理容器应该如何运行。有状态应用程序运行,你可以连接豆荚持久性存储,使用Kubernetes持久卷-在下面的部分中了解更多。

了解更多详细的指南Kubernetes豆荚

8。容器运行时引擎

每个节点有一个容器运行时引擎,负责运行的容器。码头工人是一个流行的容器运行时引擎,但Kubernetes支持符合开放的其他运行时容器倡议,包括CRI-O和rkt。

9。kubelet

每个节点包含一个kubelet,这是一个小型应用程序,它可以与Kubernetes通信控制飞机。kubelet负责确保容器中指定的舱配置运行在一个特定的节点,并管理自己的生命周期。它执行的行动由你指挥控制飞机。

10。kube-proxy

所有计算节点包含kube-proxy,网络代理,促进了Kubernetes网络服务。它处理所有网络通信集群内外,转发流量或回复的信息包过滤层的操作系统。

11。集装箱网络

集装箱网络使容器与主机通信或其他容器。通常是实现通过使用容器网络接口(CNI),这是一个联合倡议Kubernetes, Apache便,云计算,Red Hat OpenShift等等。

公司提供了一个标准化的、最小的规范网络连接的容器。您可以使用CNI插件通过kubelet——network-plugin =有限公司命令行选项。然后kubelet可以读文件——cni-conf-dir设置网络时使用CNI配置每个吊舱。

Kubernetes持久存储

容器设计为不变的实体。一旦关闭一个容器,在容器中创建的所有数据的一生。虽然这无状态的特点是适合某些应用程序中,许多用例需要保存和共享信息。

您可以设置Kubernetes持久性存储允许应用程序使用和请求存储资源。雷竞技rabet官网你可以通过使用卷,作为Kubernetes存储架构的基本组件。

PersistentVolumes (pv)存储资源设计在Kuberne雷竞技rabet官网tes集装箱应用程序启用持久存储。Kubernetes中的每个PV是一个持久性存储组件体系结构。

光伏资雷竞技rabet官网源属于豆荚的集群而独立存在。为了确保有状态性,每个磁盘和数据由pv继续现有的集群发生变更,无论删除和娱乐豆荚。

有两种方法可以创建PVs-manually和动态。动态创建的pv涉及使用PersistentVolumeClaims (pvc)定义一个资源请求的细节,让Kubernetes pv的生命周期管理。

了解更多详细的指南Kubernetes持久卷

Kubernetes舵

Kubernetes、舵作为包管理器的工作类似于npm节点。js和百胜在Linux中。执掌部署图表完整和Kubernetes打包应用程序,其中包括预配置的版本应用程序资源。雷竞技rabet官网可以部署不同的图表版本使用不同的配置设置。

执掌Kubernetes体系结构中起着关键作用。例如,它可以显著提高生产率和部署,并减少Kubernetes应用程序的复杂性。您可以利用舵图表和microservices生于云端轻松地管理应用程序。

了解更多详细的指南Kubernetes舵

架构的最佳实践Kubernetes集群

根据Gartner,下面的最佳实践可以帮助你师有效Kubernetes集群:

  • 更新版本还跟Kubernetes更新到最新版本。
  • 教育团队投资提前培训开发和运营团队。
  • 管理集成规范治理企业范围内,确保所有供应商和一致和正确与Kubernetes集成的工具。
  • 扫描图像集成图像扫描仪到CI / CD管道,包括在构建和运行周期。总是怀疑从Github库开源代码。
  • 控制访问实现基于角色的访问控制(RBAC)在所有集群,实施最小特权原则和zero-trust模型。
  • 限制用户——安全的容器,只使用非root用户,让你只读文件系统。
  • 最小的基地图片基本的码头工人中心图像可能包含恶意软件或不必要的代码。在可能的情况下,从清洁开始,精简代码,然后构建软件包。一般来说,小图片可以构建速度更快,占用较少的磁盘空间。
  • 简化的容器喜欢建立一个进程为每个容器。这使它更容易为协调器来确定和报告过程的健康。
  • 是详细的描述性的标签可以帮助其他开发人员和有关各方理解Kubernetes集群结构和工作流。
  • 避免over-granularity——每一个函数在一个逻辑代码组件应该是一个单独的microservice。
  • 自动化你可以完全避免手动Kubernetes通过自动化部署你的CI / CD管道。
  • 管理豆荚更喜欢使用readinessProbe和livenessProbe豆荚的生命周期管理。否则,豆荚在初始化期间可能会终止或接收用户请求太早了。

NetApp Kubernetes自动化基础设施与现货

从现货现货海洋NetApp释放DevOps团队从繁琐的管理节点集群的工人在帮助降低成本90%。现货海洋的自动优化提供了以下好处:

  • 容器驱动自动定量的豆荚最快的匹配适当的节点
  • 易于管理的工作负载与不同的资源需求在一个集群中
  • 智能装箱高度利用节点和更大的成本效益
  • 成本分配的名称空间、资源、注释和标签雷竞技rabet官网
  • 可靠的最优的混合使用,保留和按需计算定价模型
  • 自动化基础设施空间确保高可用性
  • 裁员基于实际资源消耗

了解更多关于现货的海洋今天!

看到我们的附加指导关键CI / CD上的话题

内容合作伙伴一起,我们已经在其他几个主题撰写了深入指导,也可以你探索世界的有用CI / CD

CI CD管道

由NetApp

GitHub的行为

由Codefresh

单元测试

由明亮的安全

Baidu
map