Kubernetes水平扩展收缩与滚动更新

目录

     一、水平扩展/收缩

1.1、创建一个Dockerfile

1.2、 开始构建

1.3、创建一个deployment

 1.4、创建另外一个Dockerfile

1.5、开始构建,推送

​1.6、查看Deployment

二、滚动更新

2.1、创建一个Dockerfile

2.2、开始构建镜像 

2.3、查看本地仓库镜像 

​2.4、 修改nginx-test.yml文件

 2.5、创建一个service

2.6、测试访问

2.7、更新版本

2.8、更新最新版本

三、版本回滚

3.1、查看版本历史

3.2、回滚到以前的版本


一、水平扩展/收缩

1.1、创建一个Dockerfile

FROM daocloud.io/library/nginx
RUN echo "nginx:1.16.1" > /usr/share/nginx/html/index.html

1.2、 开始构建

 把我们构建好的镜像推送到仓库里面。

 ok。推送成功!

1.3、创建一个deployment

在master主机上创建
[root@kube-master ~]# kubectl create deployment nginx-test --image=192.168.18.103/library/nginx:1.16.1 --namespace=default --dry-run -o yaml > nginx-test.yml

 我们将这里的副本数replicas改为4

 然后我们给master开一个窗口看他的结果,他会给我们再增加三个nginx副本。

 在这里我们可以请求一下,请求成功!

 1.4、创建另外一个Dockerfile

FROM daocloud.io/library/nginx
RUN echo "nginx:1.20.2" > /usr/share/nginx/html/index.html

1.5、开始构建,推送

推送镜像到我们的本地仓库

 1.6、查看Deployment

 如此交替进行,新 ReplicaSet 管理的 Pod 副本数,从 0 个变成 1 个,再变成 2 个,最后变成 3 个。而旧的 ReplicaSet 管理的 Pod 副本数则从 3 个变成 2 个,再变成 1 个,最后变成 0 个。这样,就完成了这一组 Pod 的版本升级过程。

注意:启动一个新的,宕掉一个旧的。起新宕旧,水平收缩,滚动更新。

二、滚动更新

2.1、创建一个Dockerfile

FROM daocloud.io/library/nginx
RUN echo "nginx:latest" > /usr/share/nginx/html/index.html

2.2、开始构建镜像 

2.3、查看本地仓库镜像 

2.4、 修改nginx-test.yml文件

 2.5、创建一个service

apiVersion: v1
kind: Service
metadata:
  name: nginx-deploy-service
spec:
    selector:
      app: nginx-test
    type: NodePort
    ports:
      - port: 80
        targetPort: 80
        nodePort: 32333

 运行我们的service

2.6、测试访问

 访问成功!

2.7、更新版本

2.8、更新最新版本

 这就是版本的滚动更新。

三、版本回滚

3.1、查看版本历史

3.2、回滚到以前的版本

[root@kub-k8s-master ]# kubectl rollout undo deployment/nginx-test --to-revision=2
deployment.apps/dep02 rolled back

 由于在创建这个 Deployment 的时候,指定了--record 参数,会将创建这些版本时执行的 kubectl 时文件中的配置,都会记录下来。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值