每天5分钟玩转Kubernetes
上QQ阅读APP看书,第一时间看更新

4.4 用例子把它们串起来

为了帮助大家更好地理解Kubernetes架构,我们部署一个应用来演示各个组件之间是如何协作的。

执行下列命令,结果如图4-6所示。

图4-6

等待一段时间,应用部署完成,如图4-7所示。

图4-7

Kubernetes部署了deployment httpd-app,有两个副本Pod,分别运行在k8s-node1和k8s-node2。

详细讨论整个部署过程,如图4-8所示。

图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还没参与进来。