k8s的deployment应用
Kubernetes 通过各种 Controller 来管理 Pod 的生命周期。为了满足不同业务场景,Kubernetes 开发了 Deployment、ReplicaSet、DaemonSet、StatefuleSet、Job 等多种 Controller。我们首先学习最常用的 Deployment。
运行一个deployment
[root@k8s-master k8s]# kubectl run nginx-deployment --image=nginx:1.79 --replicas=2 kubectl run --generator=deployment/apps.v1beta1 is DEPRECATED and will be removed in a future version. Use kubectl create instead. deployment.apps/nginx-deployment created
[root@k8s-master k8s]# kubectl get deployment
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
nginx-deployment 2 2 2 2 3m17s
[root@k8s-master k8s]# kubectl get pod -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE
nginx-deployment-5fd98dbf5f-w94g4 1/1 Running 0 3m55s 10.244.2.7 k8s-node1 <none>
nginx-deployment-5fd98dbf5f-x5jt5 1/1 Running 0 3m55s 10.244.1.7 k8s-node2 <none>
部署一个deployment名称叫 nginx-deployment 镜像是nginx:1.79 2个副本
查看详细信息
通过kubectl describe deployment 查看该deployment详细信息
这个对象 nginx-deployment-5fd98dbf5f 2个副本被创建了 来自deployment-controller
查看pod
发觉这两个pod的前缀都是 nginx-deployment-5fd98dbf5f 不同的是后面的5位随机数
查看pod的详细信息
通过查看pod的详细信息,可以看到 控制管理器是 replicasset,事件(Events)记录了 pod的创建过程,如果创建失败可以从事件中查找原因
创建过程
1、kubectl创建deployment
2、deployment创建Replcasset
3、根据Replicaset创建pod
命名方式
replicas的命名方式 :deployment名称+随机数
pod的命名方式:replicas名称+随机数