尝试回答了上面的问题,可能有的回答不对或者不准确,仅供参考哈 😁
[toc]
k8s基础组件有哪些,什么功能
master组件
kube-apiserver
集群的核心,负责各个功能模块之间的通信。各个模块都通过apiserver将信息存入etcd。
kube-controller-manager
控制器有很多种,通过 apiserver 监控整个集群的状态,确保集群始终处于预期的工作状态。
kube-scheduler
负责调度,将pod调度到最优节点上。
etcd
存储kubernetes的元数据,高可用。
node组件
kubelet
每个节点上运行的代理,确保容器处于运行状态且健康。会定期想master汇报资源使用情况。
一个pod创建流程
可通过kubectl或yaml创建pod请求
apiserver接收到请求后,会存储pod数据到etcd
scheduler的watch接口会从apiserver处监听到新建pod的信息,scheduler会根据集群的整体信息,选出最优的node进行调度,会通过apiserver将信息写到etcd里
目标node上的kubelet通过apiserver监听到新建的pod,会去调用Container Runtime Interface (CRI) 创建相应pod.
(kube-controller-manager 会确保pod处于预期的状态)
网络选型需要注意什么
pod跨node的通信
网络性能
网络插件成熟度
网络策略
(最常用的应该是flannel和calico)