Kubernetes 整体架构与核心组件
Kubernetes 整体架构 从整体来看 Kubernetes (k8s) 主要由两种节点组成,分别是 Master 节点和 Node 节点,其整体结构如图1 所示。Master 节点由三个紧密协作的独立组件组合而成,分别是:kube-apiserver、kube-scheduler 以及 kube-controller-manager;Node 节点上最核心的是名为 kubelet 的组件以及 kube-proxy。下面结合图1 对一些组件的功能进行说明。 <!DOCTYPE html> 图1. kubernetes (k8s) 整体架构图(来源于网络) 核心组件 kubectl & cliet-go kubectl 是 k8s 官方提供的命令行工具,它通过 HTTP/JSON 通信协议以命令行的方式来与 kube-apiserver 交互。 client-go 则是通过编程的方式来与 API server 进行交互,使开发者能够以编程的方式管理和操作集群中的资源,它实现的功能与 kubectl 相同。k8s 的其他组件与 api server 进行通信也是基于 client-go 实现的。如果需要对 k8s 进行二次开发,也可以使用 client-go。 Master 节点核心组件 kube-apiserver Kube-apiserver 主要负责 API 服务,集群中所有的组件都是通过 API server 组件来操作资源对象,它也是集群中唯一与 ETCD 集群进行交互的核心组件。k8s 中所有的资源对象被封装成 RESTful 风格的 API 接口进行管理。同时,API server 还提供了集群的安全访问机制,如认证、授权、准入控制、审计等。 ...