ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

十五、资源控制之Deployment

2022-07-10 18:03:34  阅读:174  来源: 互联网

标签:kubectl -- deployment nginx 十五 Deployment Pod 资源


资源控制器之Deployment

Deployment 为 Pod 和 ReplicaSet 提供了一个声明式定义(declarative)方法,用来替代以前的ReplicationController 来方便的管理应用。典型的应用场景包括:

​- 定义 Deployment 来创建 Pod 和 ReplicaSet

​- 滚动升级和回滚应用

​- 扩容和缩容

49.png

Deployment 应用示例:

vim deploy.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-nginx
spec:
  selector:
    matchLabels:
      app: web-nginx
  replicas: 3
  template:
    metadata:
      labels:
        app: web-nginx
    spec:
      containers:
        - name: web-nginx
          image: docker.io/nginx
          imagePullPolicy: IfNotPresent
          ports:
          - containerPort: 80


kubectl create -f deploy.yaml --record
	## --record参数可以记录命令,我们可以很方便的查看每次 revision 的变化

创建完成后,我们可以查看下我们的 Pod 状态:

50.png


我们可以通过命令 kubectl scale deployment my-nginx --replicas=5 将副本数量扩容到 5 个:

53.png

也可以通过该命令 kubectl scale deployment my-nginx --replicas=2 缩容到 2 个:

54.png

这个时候我们注意一下,在缩容的时候,优先删除的是创建时间短的 Pod 。下面我们在来看一下 deployment 的升级与回滚:

查看当前的 Pod 当中的 nginx 的版本: kubectl exec Pod-name -it – nginx -v

升级 images 版本: kubectl set image deployment/my-nginx web-nginx=nginx:1.9.1

55.png

使用命令 kubectl get rs 命令查看 Pod 的更新过程:

56.png

当升级完成后,查看一下当前 Pod 的 nginx 的版本:

57.png

通过命令查看 deployment 的历史记录: kubectl rollout history deployment my-nginx

58.png

回滚到之前的版本: kubectl rollout undo deployment --to-revision=1

59.png

回滚完成后,查看一下当前 Pod 的 nginx 的版本:

60.png

清理 Policy :

​可以通过设置 spec.revisonHistoryLimit 项来指定 deployment 最多保留多少 revision 历史记录。默认的会保留所有的 revision,如果将该项设置为 0,Deployment 就不允许回退了。

标签:kubectl,--,deployment,nginx,十五,Deployment,Pod,资源
来源: https://www.cnblogs.com/xiaohaoge/p/16463619.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有