k8s之deployment

在这里插入图片描述

为什么k8s要引入deployment资源

deployment也是保证pod高可用的一种方式,明明已经有RC,为什么还要引入deployment呢?因为deployment解决了RC的一个痛点

创建一个deployment

vi  nginx-deploy.yaml
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: nginx-deployment
spec:
  replicas: 3
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: 10.0.0.11:5000/nginx:1.13
        ports:
        - containerPort: 80
kubectl create  -f  nginx-deploy.yaml

查看deployment

在这里插入图片描述

关联service

kubectl expose deployment nginx-deployment --port=80 --type=NodePort

NAME                      DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
deploy/nginx-deployment   3         3         3            3           41m

NAME                   CLUSTER-IP       EXTERNAL-IP   PORT(S)        AGE
svc/nginx-deployment   10.254.202.137   <nodes>       80:54134/TCP   6s

NAME                             DESIRED   CURRENT   READY     AGE
rs/nginx-deployment-2602221530   3         3         3         41m

NAME                                   READY     STATUS    RESTARTS   AGE
po/nginx-deployment-2602221530-297vw   1/1       Running   0          41m
po/nginx-deployment-2602221530-3ls8l   1/1       Running   0          41m
po/nginx-deployment-2602221530-d044t   1/1       Running   0          41m

deployment升级

[root@k8s-master deploy]# curl -I 10.0.0.11:59806
HTTP/1.1 200 OK
Server: nginx/1.13.12
Date: Mon, 24 Jun 2019 03:12:38 GMT
….
[root@k8s-master deploy]# kubectl edit deploy nginx-deploy

[root@k8s-master deploy]# curl -I 10.0.0.11:59806
HTTP/1.1 200 OK
Server: nginx/1.15.5
Date: Mon, 24 Jun 2019 03:13:43 GMT

deployment回滚

[root@k8s-master deploy]# curl -I 10.0.0.11:59806
HTTP/1.1 200 OK
Server: nginx/1.15.5
Date: Mon, 24 Jun 2019 03:34:17 GMT

[root@k8s-master deploy]# kubectl rollout undo deployment nginx-deploy 
deployment "nginx-deploy" rolled back

[root@k8s-master deploy]# curl -I 10.0.0.11:59806
HTTP/1.1 200 OK
Server: nginx/1.13.12
Date: Mon, 24 Jun 2019 03:34:52 GMT


deployment最佳实践

版本发布
kubectl run nginx --image=10.0.0.11:5000/nginx:1.13 --replicas=3 –record
版本升级
kubectl set image deploy nginx nginx=10.0.0.11:5000/nginx:1.15

历史版本查询
[root@k8s-master deploy]# kubectl rollout history deployment nginx
deployments "nginx"
REVISION	CHANGE-CAUSE
1		kubectl run nginx --image=10.0.0.11:5000/nginx:1.13 --replicas=3 --record
2		kubectl set image deploy nginx nginx=10.0.0.11:5000/nginx:1.15

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值