9、 k8s 架构分析

9、 k8s 架构分析

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

执行命令:node

kubectl run httpd-app --image=httpd --replicas=2

等待一段时间,应用部署完成。架构

root@k8s-master:~/k8s# kubectl get deploment
root@k8s-master:~/k8s# kubectl get pod -o wide

​ Kubernetes 部署了 deployment httpd-app,有两个副本 Pod,分别运行在 k8s-node1k8s-node2app

​ 详细讨论整个部署过程。ide

​ ① kubectl 发送部署请求到 API Server。学习

​ ② API Server 通知 Controller Manager 建立一个 deployment 资源。code

​ ③ Scheduler 执行调度任务,将两个副本 Pod 分发到 k8s-node1 和 k8s-node2。blog

​ ④ k8s-node1 和 k8s-node2 上的 kubectl 在各自的节点上建立并运行 Pod。资源

补充两点:部署

  • 应用的配置和当前状态信息保存在 etcd 中,执行 kubectl get pod 时 API Server 会从 etcd 中读取这些数据。
  • flannel 会为每一个 Pod 都分配 IP。由于没有建立 service,目前 kube-proxy 还没参与进来。

Kubernetes 架构就讨论到这里。从下节开始,咱们将经过实践深刻学习 Kubernetes 的各类特性。做为容器编排引擎,最重要也是最基本的功能固然是运行容器化应用。get

相关文章
相关标签/搜索