![每天5分钟玩转Kubernetes](https://wfqqreader-1252317822.image.myqcloud.com/cover/754/26793754/b_26793754.jpg)
上QQ阅读APP看书,第一时间看更新
4.4 用例子把它们串起来
为了帮助大家更好地理解Kubernetes架构,我们部署一个应用来演示各个组件之间是如何协作的。
执行下列命令,结果如图4-6所示。
![](https://epubservercos.yuewen.com/F29C0A/15253388304118606/epubprivate/OEBPS/Images/Figure-T32_5432.jpg?sign=1739595192-mZH0nc23sLC5auORzmrTdGziBpntk08p-0-f8a974a09d6459b957010bbf06383d67)
![](https://epubservercos.yuewen.com/F29C0A/15253388304118606/epubprivate/OEBPS/Images/Figure-P32_1288.jpg?sign=1739595192-gFvM4F6sCGKUvvbCMn0fUpRs0j4jTxTp-0-3f983cc13dc1d9f3be7d79863295cc66)
图4-6
等待一段时间,应用部署完成,如图4-7所示。
![](https://epubservercos.yuewen.com/F29C0A/15253388304118606/epubprivate/OEBPS/Images/Figure-P32_1292.jpg?sign=1739595192-7sKFSiY4kSMqomkXtM2HsHwaWQeqwsit-0-bf17c163da3399cd75b10fd0c3a0ce08)
图4-7
Kubernetes部署了deployment httpd-app,有两个副本Pod,分别运行在k8s-node1和k8s-node2。
详细讨论整个部署过程,如图4-8所示。
![](https://epubservercos.yuewen.com/F29C0A/15253388304118606/epubprivate/OEBPS/Images/Figure-P32_1296.jpg?sign=1739595192-fMemjbsT3xTJXSZcyDuH1heyCa065upa-0-10a093a417ae6c02d0b7ec09bb6a26c4)
图4-8
①kubectl发送部署请求到API Server。
②API Server通知Controller Manager创建一个deployment资源。
③Scheduler执行调度任务,将两个副本Pod分发到k8s-node1和k8s-node2。
④k8s-node1和k8s-node2上的kubectl在各自的节点上创建并运行Pod。
补充两点:
(1)应用的配置和当前状态信息保存在etcd中,执行kubectl get pod时API Server会从etcd中读取这些数据。
(2)flannel会为每个Pod都分配IP。因为没有创建service,所以目前kube-proxy还没参与进来。