栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 游戏开发 > Cocos2d-x

每天5分钟玩转Kubernetes | Rolling Update实践

Cocos2d-x 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

每天5分钟玩转Kubernetes | Rolling Update实践

书籍来源:cloudman《每天5分钟玩转Kubernetes》

一边学习一边整理老师的课程内容及试验笔记,并与大家分享,侵权即删,谢谢支持!


下面我们部署三副本应用,初始镜像为httpd:2.2.31,然后将其更新到httpd:2.2.32。

httpd:2.2.31的配置文件如下所示。

[root@k8s-master ~]# cat httpd.yml 
apiVersion: apps/v1
kind: Deployment
metadata:
  name: httpd
spec:
  replicas: 3
  selector:
    matchLabels:
      app: httpd
  template:
    metadata:
      labels:
        app: httpd
    spec:
      containers:
      - name: httpd
        image: httpd:2.2.31
        ports:
        - containerPort: 80
[root@k8s-master ~]# 

通过kubectl apply部署,如图所示。

部署过程如下:

(1)创建Deployment httpd。

(2)创建ReplicaSet httpd-745bddc8fb。

(3)创建三个Pod。

(4)当前镜像为httpd:2.2.31。

将配置文件中的httpd:2.2.31替换为httpd:2.2.32,再次执行kubectl apply,如图所示。

我们发现了如下变化:

(1)Deployment httpd的镜像更新为httpd:2.2.32。

(2)新创建了ReplicaSet httpd-55d897fbfc ,镜像为 httpd:2.2.32,并且管理了三个新的Pod。

(3)之前的ReplicaSet httpd-745bddc8fb里面已经没有任何Pod。

结论是:ReplicaSet httpd-745bddc8fb的三个httpd:2.2.31 Pod已经被ReplicaSet httpd-55d897fbfc 的三个httpd:2.2.32 Pod替换了。

具体过程可以通过kubectl describe deployment httpd查看,如图所示。

每次只更新替换一个Pod:

(1)ReplicaSet httpd-55d897fbfc增加一个Pod,总数为1。

(2)ReplicaSet httpd-745bddc8fb减少一个Pod,总数为2。

(3)ReplicaSet httpd-55d897fbfc增加一个Pod,总数为2。

(4)ReplicaSet httpd-745bddc8fb减少一个Pod,总数为1。

(5)ReplicaSet httpd-55d897fbfc增加一个Pod,总数为3。

(6)ReplicaSet httpd-745bddc8fb减少一个Pod,总数为0。

每次替换的Pod数量是可以定制的。Kubernetes提供了两个参数maxSurge和maxUnavailable来精细控制Pod的替换数量,我们将在后面结合Health Check特性一起讨论。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/952459.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号