一、k8s组件交互关系由下图可大致体现
二、k8s master组件理解
(1)kube-apiserver组件:
kubernets API server 提供了k8s各类资源对象的增删改查及watch等Http Rest接口,这些对象包括pods、services、relicationcontrollers等,API server为REST操作提供服务,并为集群共享状供前端,所有的其他k8s组件(kube-scheduler、kube-controllermanager、kube-proxy、kubelet)都通过该前端进行交互。 kubectl 命令行管理工具也需要apiserver去交互。etcd也只会和apiserver进行交互。可以说apiserver是我们所有的服务访问入口,在整个k8s集群是非常繁忙的,所以比较消耗CPU资源,对内存需要倒是不多。
和apiserver交互要经历如下步骤:
1.身份认证
2.验证指令
3.验证操作鉴权
4.返回结果
举个kubectl和apisever交互的例子
执行kubectl get node命令会出现如下图信息