kubernetes之Deployments

Deployments是kubernetes中的一种控制器,是比ReplicaSet更高级的概念,它最重的特性是支持对pod与ReplicaSet的声明式升级,声明式升级比其它方式的升级更安全可靠。需要注意的是用户不应该手动管理被Deployments创建的ReplicaSet。

使用案例

以下是几种典型的Deployments使用案例:

Creating a Deployment

以下Deployment示例创建一个ReplicaSet,ReplicaSet控制三个nginx pod,示下是配置文件:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
  labels:
    app: nginx
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.7.9
        ports:
        - containerPort: 80

以上文件中除了kind变成Deployment外,与ReplicaSet的定义并无不同,Deployment据此创建ReplicaSet。

创建Deployment: 

kubectl create -f  https://k8s.io/examples/controllers/nginx-deployment.yaml

提示:可以在上述命令中追加--record选项,其作用是在Deployment的注解中记录下当前执行的命令,这个特性对于Deployment的变更审计、追踪很有用。

 查看Deployments:

NAME               DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
nginx-deployment   3         0         0            0           1s

输出的自字段含义:

  • NAME: Deployments名称
  • DESIRED:创建Deployments时指定的期望副本数量。
  • CURRENT:当前正在运行的副本数量。
  • UP-TO-DATE:成功升级的副本数量。
  • AVAILABLE:可用副本的数量,注意副本在运行不等于可用。
  • AGE:应用运行时间。 

创建Deployments后,kubernetes在系统中保存代表Deployments规格与状态的数据,以上字段与系统中保存数据的对应关系:

  • DESIRED:spec.replicas field.
  • CURRENT:status.replicas field.
  • UP-TO-DATE:status.updatedReplicas field.
  • AVAILABLE:status.availableReplicas field.

查看Deployments的推进状态(rollout status):

kubectl rollout status deployment/nginx-deployment
Waiting for rollout to finish: 2 out of 3 new replicas have been updated...
deployment "nginx-deployment" successfully rolled out

结果显示正在等待部署完成,3个副本中的2两已经更新完成,稍后查看Deployments的状态:

kubectl get deployments
NAME               DESIRED   C
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值