k8s最佳应用部署方案,k8s快速部署平台

首页 > 技术 > 作者:YD1662023-04-18 02:34:50

预期状态是Kubernetes的核心理念之一。用户可以自由定义Pod内的容器执行状态。如果因为某种故障该容器停止了运行,Kubernetes会基于预期状态重新创建Pod。

Kubernetes严格确保集群里运行的所有容器总是在预期状态下。这是由Kubernetes Master实现的,它是Kubernetes控制平面(Control Plane)的一部分。用户可以使用kubectl直接和集群交互,通过Kubernetes API设置或者修改预期状态。

Kubernetes对象

k8s最佳应用部署方案,k8s快速部署平台(5)

根据Kubernetes文档里所述:Kubernetes对象是“意图记录”——一旦用户创建了对象,Kubernetes系统会持续工作保证这个对象的存在。用户通过创建对象来告诉Kubernetes系统自己希望集群里的工作负载是什么样子;这就是集群的预期状态。任意时刻系统里的实体状态是由Kubernetes对象来表示的。Kubernetes对象也是容器接口之上的另一层抽象层。用户可以直接和Kubernetes对象交互,而不用和容器直接交互。基本的Kubernetes对象如下:

Kubernetes提供了一些控制器(Controller)。这些控制器基于Kubernetes的基础对象构建并提供额外的特性。Kubernetes控制器包括:

Kubernetes控制平面

k8s最佳应用部署方案,k8s快速部署平台(6)

Kubernetes控制平面的工作就是确保集群的当前状态和用户的预期状态一致。要实现这一目标,Kubernetes会自动执行一系列任务——比如,启动或者重启容器,扩展某个给定应用的副本数量,等等。

Kubernetes文档定义如下:Kubernetes控制平面的各个部分,比如Kubernetes Master以及kubelet进程,管控Kubernetes和用户集群的通信。控制平面维护系统里所有Kubernetes对象的记录,并且持续运行控制回路来管理对象的状态。在任意时间,控制平面的控制回路会响应集群的变化,并且让系统里所有对象的实际状态匹配上用户定义的预期状态。Kubernetes控制平面负责维护集群内的预期状态。它记录对象状态并且持续运行控制回路去检查对象的当前状态是否和预期状态匹配。你可以把它看作是管理国家的政府。

Kubernetes Master

k8s最佳应用部署方案,k8s快速部署平台(7)

作为Kubernetes控制平面的一部分,Kubernetes master的工作是持续维护集群的预期状态。kubectl命令是通过Kubernetes API和集群的Kubernetes master通信的接口。可以看作负责维护法律和秩序的警察机构。

Kubernetes文档定义:“master”指的是管理集群状态的一组进程。通常这些进程都运行在集群里的单个节点上,并且该节点也称为master节点。master也可以被复制用于实现高可用和冗余。Kubernetes Master控制并且协调集群里的所有节点,包括运行在集群里一个或者多个master节点上的三个进程:

  1. kube-apiserver:整个集群的单点管理点。API server实现了RESTful的接口,用于和工具以及库函数的通信。kubectl命令直接和API server交互。
  2. kube-controller-manager:通过管理不同类型的控制器来规范集群的状态。
  3. kube-scheduler:在集群里的可用节点上调度工作负载。

Kubernetes节点

k8s最佳应用部署方案,k8s快速部署平台(8)

上一页1234下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.