通过部署一个 Nginx 服务/实例来简单介绍 K8s 部署一个应用的流程。
1、创建 deployment 资源
kubectl create deployment nginx --image=nginx
kubectl expose deployment nginx --port=80 --type=NodePort
2、查看 deployment 资源
kubectl get deployment
3、查看节点上的 pod
kubectl get pod
那 pod 是运行在哪个 Node 节点的呢?我们可以通过以下命令查看:
kubectl get pod -o wide
4、查看 NodeIP
kubectl get pod,svc
5、浏览器访问验证
http://192.168.56.160:32223/
流程:
- kubectl 发送请求到 API Server;
- API Server 通知 ControllerManager 创建一个 deployment 资源;
- Scheduler 执行调度任务,根据 Node 节点资源情况自动将 Pod 分发到可用的 Node 节点(上面案例 work1);
- work1 节点上的 kubectl 就会创建并运行 Pod。