编写deployment.yaml文件,内容如下:
apiVersion: v1kind: Namespacemetadata:name: dev---apiVersion: apps/v1kind: Deploymentmetadata:name: nginxnamespace: devspec:replicas: 1selector:matchLabels:run: nginxtemplate:metadata:labels:run: nginxspec:containers:- image: nginx:1.17.1name: nginxports:- containerPort: 80protocol: TCP
然后使用如下命令创建对象
[root@master object_manage]# kubectl create -f deployment.yamlnamespace/dev createddeployment.apps/nginx created[root@master object_manage]#
使用如下命令可查看创建的对象
[root@master object_manage]# kubectl get -f deployment.yamlNAME STATUS AGEnamespace/dev Active 98sNAME READY UP-TO-DATE AVAILABLE AGEdeployment.apps/nginx 1/1 1 1 98s[root@master object_manage]#
编辑deployment.yaml文件,修改副本数为3,设置nginx镜像的tag为1.17.3,如下:
apiVersion: v1kind: Namespacemetadata:name: dev---apiVersion: apps/v1kind: Deploymentmetadata:name: nginxnamespace: devspec:replicas: 3selector:matchLabels:run: nginxtemplate:metadata:labels:run: nginxspec:containers:- image: nginx:1.17.3name: nginxports:- containerPort: 80protocol: TCP
然后使用如下命令额更新
[root@master object_manage]# kubectl replace -f deployment.yamlnamespace/dev replaceddeployment.apps/nginx replaced[root@master object_manage]#
此时使用如下命令查看,可以发现pod数量已经更新为3个,此外nginx的镜像的tag也更新为1.17.3
[root@master object_manage]# kubectl get -f deployment.yaml -o wideNAME STATUS AGEnamespace/dev Active 5m52sNAME READY UP-TO-DATE AVAILABLE AGE CONTAINERS IMAGES SELECTORdeployment.apps/nginx 3/3 3 3 5m52s nginx nginx:1.17.3 run=nginx[root@master object_manage]#
使用如下命令即可删除
[root@master object_manage]# kubectl delete -f deployment.yamlnamespace "dev" deleteddeployment.apps "nginx" deleted[root@master object_manage]#