Kubernetes----Kubernetes中通过指令式对象配置的方式管理对象
作者:redrose2100   类别:    日期:2022-05-22 16:04:27    阅读:1358 次   消耗积分:0 分

一、创建对象

编写deployment.yaml文件,内容如下:

  1. apiVersion: v1
  2. kind: Namespace
  3. metadata:
  4. name: dev
  5. ---
  6. apiVersion: apps/v1
  7. kind: Deployment
  8. metadata:
  9. name: nginx
  10. namespace: dev
  11. spec:
  12. replicas: 1
  13. selector:
  14. matchLabels:
  15. run: nginx
  16. template:
  17. metadata:
  18. labels:
  19. run: nginx
  20. spec:
  21. containers:
  22. - image: nginx:1.17.1
  23. name: nginx
  24. ports:
  25. - containerPort: 80
  26. protocol: TCP

然后使用如下命令创建对象

  1. [root@master object_manage]# kubectl create -f deployment.yaml
  2. namespace/dev created
  3. deployment.apps/nginx created
  4. [root@master object_manage]#

二、查看对象

使用如下命令可查看创建的对象

  1. [root@master object_manage]# kubectl get -f deployment.yaml
  2. NAME STATUS AGE
  3. namespace/dev Active 98s
  4. NAME READY UP-TO-DATE AVAILABLE AGE
  5. deployment.apps/nginx 1/1 1 1 98s
  6. [root@master object_manage]#

三、更新对象

编辑deployment.yaml文件,修改副本数为3,设置nginx镜像的tag为1.17.3,如下:

  1. apiVersion: v1
  2. kind: Namespace
  3. metadata:
  4. name: dev
  5. ---
  6. apiVersion: apps/v1
  7. kind: Deployment
  8. metadata:
  9. name: nginx
  10. namespace: dev
  11. spec:
  12. replicas: 3
  13. selector:
  14. matchLabels:
  15. run: nginx
  16. template:
  17. metadata:
  18. labels:
  19. run: nginx
  20. spec:
  21. containers:
  22. - image: nginx:1.17.3
  23. name: nginx
  24. ports:
  25. - containerPort: 80
  26. protocol: TCP

然后使用如下命令额更新

  1. [root@master object_manage]# kubectl replace -f deployment.yaml
  2. namespace/dev replaced
  3. deployment.apps/nginx replaced
  4. [root@master object_manage]#

此时使用如下命令查看,可以发现pod数量已经更新为3个,此外nginx的镜像的tag也更新为1.17.3

  1. [root@master object_manage]# kubectl get -f deployment.yaml -o wide
  2. NAME STATUS AGE
  3. namespace/dev Active 5m52s
  4. NAME READY UP-TO-DATE AVAILABLE AGE CONTAINERS IMAGES SELECTOR
  5. deployment.apps/nginx 3/3 3 3 5m52s nginx nginx:1.17.3 run=nginx
  6. [root@master object_manage]#

四、删除对象

使用如下命令即可删除

  1. [root@master object_manage]# kubectl delete -f deployment.yaml
  2. namespace "dev" deleted
  3. deployment.apps "nginx" deleted
  4. [root@master object_manage]#
始终坚持开源开放共享精神,同时感谢您的充电鼓励和支持!
版权所有,转载本站文章请注明出处:redrose2100, http://blog.redrose2100.com/article/247
个人成就
  • 2022年 : 371 篇 
  • 2023年 : 211 篇 
  • 2024年 : 31 篇 
  • 2025年 : 0 篇 
  • 博客总数: 613 
  • 阅读总量: 779314 
测试开发技术全栈公众号
DevOps技术交流微信群