5、k8s-deployment增删改查(pod控制器)
5、k8s-deployment增删改查(pod控制器)
4.4 Deployment
在kubernetes中,Pod是最小的控制单元,但是kubernetes很少直接控制Pod,一般都是通过Pod控制器来完成的。Pod控制器用于pod的管理,确保pod资源符合预期的状态,当pod的资源出现故障时,**会尝试进行重启或重建pod。
在kubernetes中Pod控制器的种类有很多,本章节只介绍一种:Deployment。
如我创建容器时告诉pod控制器我需要3个应用程序 这时候pod控制器 就会创建出三个来 如果一个出现故障 pod控制器就会尝试重启 重启失败就会销毁重建 总之确保一直有3个运行。
要想删除必须删掉pod控制器
一. 命令操作
1.创建2副本pod
参数说明:
- –image 指定pod的镜像
- –port 指定端口
- –replicas 指定pod的数量
- –namespace 指定ns (需要多节点才能成功运行)
本身deployment是有标签选择器的 他就会选中相同标签的pod进而管理pod
1 | # 为了不影响接下来的操作我们删除ns dev 这样dev下面的pod都会被删除 |
扩展手动给nginx-pod打上标签
kubectl label pod nginx-pod version=2.0 -n dev –overwrite
此时可以看到标签选择器选择的标签化与我们查看的标签一致
2.删除pod控制器deployment(直接删除pod会重建 删除pod控制器即删除完成)
没有pod控制器的直接就删除完成了
1 | # 删除nginx-pod、pod的pod控制器 |
二. 使用配置文件方式定义deployment(pod控制器)
nginx-pod.yml
1 | apiVersion: apps/v1 # 版本 |
然后就可以执行对应的创建和删除命令了:
创建:kubectl create -f deploy-nginx.yaml
删除:kubectl delete -f deploy-nginx.yaml
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.
Comment