API Server全维度指南
- 前言
-
- ==复习==
- kube-apiserver
-
- 其一、概述
- 其二、架构白话
- 总结
-
- 实践说明
- 1. kubelet 与 API Server 的交互
- 2. kube-controller-manager 与 API Server 的交互
- 3. kube-scheduler 与 API Server 的交互
前言
在详解之前我们再来回忆一下架构图和前面说过一点的内容。
k8s可以管理分布式分布式集群中的微服务和容器化程序,并且提供了停机时间部署、自动回滚、资源缩放和容器的自愈等功能。
其中有自动配置、自动重启、复制的高弹性基础设施
其实它重要的设计因素之一是能够横向扩展意思就是高可用性提高了。
设计者这样大型的系统架构,且保证“运行时”健壮、可扩展、移植是具有挑战性的,因为体系结构会直接影响其运行方式和对环境的依赖程度及相关组件的耦合程度。
在这一体系之下的微服务,它是一种软件设计模式,适用于集群中的可扩展部署。
开发人员使用这一模式能够创建小型、可组合的应用程序,通过定义良好的HTTP REST API接口进行通信。Kubernetes也是遵循微服务架构模式的程序,具有弹性、可观察性和管理功能,可以适应云平台的需求。
复习
Kubernetes系统架构遵循客户端/服务端(C/S)架构,系统架构分为Master和Node两部分,Master作为服务端,Node作为客户端。Kubernetes系统具有多个Master服务端,可以实现高可用。在默认的情况下,一个Master服务端即可完成所有工作。
Master服务端也被称为主控节点,它在集群中主要负责如下任务。
(1)集群的“大脑”,负责管理所有节点(Node)。
(2)负责调度Pod在哪些节点上运行。
(3)负责控制集群运行过程中的所有状态。
Node客户端也被称为工作节点,它在集群中主要负责如下任务。
(1)负责管理所有容器(Container)。
(2)负责监控/上报所有Pod的运行状态。
Master服务端(主控节点)主要负责管理和控制整个Kubernetes集群,对集群做出全局性决策,相当于整个集群的“大脑”。集群所执行的所有控制命令都由Master服务端接收并处理。Master服务端主要包含如下组件。
● kube-apiserver组件:集群的HTTP REST API接口,是集群控制的入口。
它将Kubernetes“资源组/资源版本/资源”以RESTful的形式对外暴露并提供服务。
Kubernetes集群中的所有组件都通过kube-apiserver组件操作资源对象。kube-