2020-09-03
Master Node:作为控制节点,对集群进行调度管理;Master Node由API Server、Scheduler、Cluster State Store和Controller-Manager Server所组成
Worker Node:作为真正的工作节点,运行业务应用的容器;WorkerNode包含kubelet、kube proxy、Container Runtime
kubectl:用于通过命令行与API Server进行交互,而对Kubernetes进行操作,实现在集群中进行各种资源的增删改查操作
Add-on:是对Kubernetes核心功能的扩展,例如增加网络和网络策略等能力
replication:用于伸缩副本数量
endpoint:用于管理网络请求
schedule:调度器
k8s工作流程说明
1.用户准备一个包含应用程序的Deployment的yml文件,然后通过kubctl客户端工具发送给ApiServer
2.ApiServer接收到客户端的请求并将资源内容存储到数据库(etcd)中
3.Controller组件(包括scheduler、replication、endpoint)监控资源变化并作出反应
4. ReplicaSet检查数据库变化,创建期望数量的pod实例
5. Schedule再次检查数据库变化,发现尚未被分配到具体执行节点(node)的pod,然后根据一组相关规则将pod分配到可以运行它们的节点上,并更新数据库,记录pod分配情况
6.Kubelet监控数据库的变化,管理后续pod生命周期,发现被分配到它所在的节点上的那些正在运行的pod,若发现是新创建的pod,则会在该节点上运行这个新的pod
7.Kube-Proxy运行在集群各个主机上,管理网络通信,如服务发现、负载均衡。例如当有数据发送到主机时,将其理由到正确的pod或容器,对于从主机上发出去的数据,它可基于请求地址发现远程服务器,并将数据正确路由。在某些情况下会使用轮询调度算法(Round-robin)将请求发送到集群中的多个实例