2-Overview-Concepts (k8s 概念)

Concepts 概念

概念部分帮助你了解k8s系统各个组件,集群资源的抽象;让你深入了解k8s是如何工作的.

概述

你需要通过k8s api对象来描述(定义)集群状态: 比如运行哪些app,运行哪些容器,使用哪个镜像,副本数量,网络磁盘资源等等. 都需要通过k8s api(通常是kubectl命令行工具)创建对象来设置所需的状态. 你也可以直接使用k8s api与集群交互设置修改期望的状态.

一旦设置了所需的状态, k8s控制面板(master的统称)会通过pod生命周期事件生成器(Pod Lifecycle Event Generator (PLEG))使集群当前状态与所需状态匹配靠拢. 为此,k8s会自动执行各种任务,例如启动或者重启动容器,缩放app副本集等待. k8s控制面板在集群上由几个主要进程组成:

k8smaster节点是在集群中的单个节点上运行的三个进程的集合,该节点被指定为主节点。这些进程是:kube-apiserverkube-controller-managerkube-scheduler.

非主节点必须运行两个进程:

  • kubelet, 与k8smaster进行通信
  • kube-proxy, 每个节点上的网络代理

k8s 对象

k8s包含许多表示系统资源状态的抽象: 已部署的容器app及工作负责情况,网络磁盘资源,集群当前状态信息等等. 这些抽象由k8s中的Objects表示.有关更多详细信息,请参阅Kubernetes Objects overview.

基本的kubernetes对象包括:

此外,k8s还包含更高级的抽象称之为控制器, 而控制器建立在基本对象的基础上,以此来提供额外功能主要包块:

k8s控制面板

k8s控制面板管理集群各个部分, 比如k8s api进程和kubelet进程规定如何通信, 控制面板维护集群系统中所有k8s对象的记录;且一直监控集群资源对象状态;在任何时间,只要对资源对象进行修改,控制面板会做出相对应动作,使集群系统中资源对象与给定提供的状态匹配靠拢.

例如: 通过k8s api来部署一个nginx静态服务器(我们定义了资源对象状态). k8s控制平面记录对象的创建,且通过生命周期调度到集群上执行相关的指令, 从而使集群的实际状态与所需状态进行匹配靠拢.

k8s Master

k8s Master负责维护集群的所需状态。当您与kubernetes交互时,例如通过使用kubectl命令行界面,您就在与集群的kubernetes主服务器通信。

“master”是指管理集群状态的进程集合。通常,所有这些进程都在集群中的单个节点上运行,该节点也称为主节点。master也可以做多个达到冗余高可用

kubernetes Node

集群中的Node可以是虚拟机,物理主机,云主机等,我们很少直接跟k8s node直接交互,而是由master来管理

k8s
本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!