[k8s]kubenets基于rc滚动升级
来源:互联网 发布:迷你音响推荐 知乎 编辑:程序博客网 时间:2024/06/05 18:57
本文讲的是使用rc滚动升级,
其他关于k8s的文字
一步一步学习k8syaml
k8s的command和args
k8s-proxy浅析
k8s高可用和ingress
https://kubernetes.io/docs/tasks/run-application/rolling-update-replication-controller/
你运行的是version 1.7.9 of nginx:
apiVersion: v1kind: ReplicationControllermetadata: name: my-nginxspec: replicas: 5 template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:1.7.9 ports: - containerPort: 80
使用kubectl rolling-update --image
指定一个镜像升级:
$ kubectl rolling-update my-nginx --image=nginx:1.9.1Created my-nginx-ccba8fbd8cc8160970f63f9a2696fc46
$ kubectl get pods -l app=nginx -L deploymentNAME READY STATUS RESTARTS AGE DEPLOYMENTmy-nginx-ccba8fbd8cc8160970f63f9a2696fc46-k156z 1/1 Running 0 1m ccba8fbd8cc8160970f63f9a2696fc46my-nginx-ccba8fbd8cc8160970f63f9a2696fc46-v95yh 1/1 Running 0 35s ccba8fbd8cc8160970f63f9a2696fc46my-nginx-divi2 1/1 Running 0 2h 2d1d7a8f682934a254002b56404b813emy-nginx-o0ef1 1/1 Running 0 2h 2d1d7a8f682934a254002b56404b813emy-nginx-q6all 1/1 Running 0 8m 2d1d7a8f682934a254002b56404b813e
注:新镜像的名字会有一个hash后缀,用来和原来的镜像区分kubectl rolling-update
升级过程如下
Scaling up my-nginx-ccba8fbd8cc8160970f63f9a2696fc46 from 0 to 3, scaling down my-nginx from 3 to 0 (keep 3 pods available, don't exceed 4 pods)Scaling my-nginx-ccba8fbd8cc8160970f63f9a2696fc46 up to 1Scaling my-nginx down to 2Scaling my-nginx-ccba8fbd8cc8160970f63f9a2696fc46 up to 2Scaling my-nginx down to 1Scaling my-nginx-ccba8fbd8cc8160970f63f9a2696fc46 up to 3Scaling my-nginx down to 0Update succeeded. Deleting old controller: my-nginxRenaming my-nginx-ccba8fbd8cc8160970f63f9a2696fc46 to my-nginxreplicationcontroller "my-nginx" rolling updated
如果升级过程报错了,你可以用 --rollback
:
尼玛,这里怎么会报错?是创建pod的过程,如果创建新pod报错,我估计新版的image问题吧,不应该到生产才发现啊.
$ kubectl rolling-update my-nginx --rollbackSetting "my-nginx" replicas to 1Continuing update with existing controller my-nginx.Scaling up nginx from 1 to 1, scaling down my-nginx-ccba8fbd8cc8160970f63f9a2696fc46 from 1 to 0 (keep 1 pods available, don't exceed 2 pods)Scaling my-nginx-ccba8fbd8cc8160970f63f9a2696fc46 down to 0Update succeeded. Deleting my-nginx-ccba8fbd8cc8160970f63f9a2696fc46replicationcontroller "my-nginx" rolling updated
如果相对镜像+启动参数+环境变量升级,那你应该新建一个配置
apiVersion: v1kind: ReplicationControllermetadata: name: my-nginx-v4spec: replicas: 5 selector: app: nginx deployment: v4 template: metadata: labels: app: nginx deployment: v4 spec: containers: - name: nginx image: nginx:1.9.2 args: ["nginx", "-T"] ports: - containerPort: 80
然后开始升级$ kubectl rolling-update my-nginx -f ./nginx-rc.yamlCreated my-nginx-v4Scaling up my-nginx-v4 from 0 to 5, scaling down my-nginx from 4 to 0 (keep 4 pods available, don't exceed 5 pods)Scaling my-nginx-v4 up to 1Scaling my-nginx down to 3Scaling my-nginx-v4 up to 2Scaling my-nginx down to 2Scaling my-nginx-v4 up to 3Scaling my-nginx down to 1Scaling my-nginx-v4 up to 4Scaling my-nginx down to 0Scaling my-nginx-v4 up to 5Update succeeded. Deleting old controller: my-nginxreplicationcontroller "my-nginx-v4" rolling updated
阅读全文
0 0
- [k8s]kubenets基于rc滚动升级
- k8s如何管理Pod(rc、rs、deployment)
- 基于prometheus监控k8s集群
- k8s
- 基于ubuntu 14.04部署k8s过程记录
- 基于Kubernetes(k8s)的RabbitMQ 集群
- 如何基于K8S打造轻量级PaaS平台
- oracle-基于oracle dataguard滚动升级(oracle10.2.0.1--10.2.0.4--11.2.0.4)
- Kubernetes 滚动升级
- Kubernetes 滚动升级
- k8s解决Http delete rc的时候未删除pod的问题
- TFS2012 RC 升级到 TFS2012 RTM
- 工作日志——基于k8s搭建spark集群
- 唯品会基于Kubernetes(k8s)网络方案演进
- 基于k8s部署的应用(服务)如何访问
- archlinux滚动升级失败解决方法
- dataguard执行数据库滚动升级
- Couchbase集群在线滚动升级
- Blash数集
- zigbee协议栈OSAL之广播、组播、单播(第四天)
- Android控件动画
- ML实践——逻辑回归logistic regression
- LitJSON之JSON读取和写入
- [k8s]kubenets基于rc滚动升级
- css简单布局(左侧固定右侧自适应)
- LoaderManager使用详解(三)---实现Loaders
- LeetCode 492 Construct the Rectangle
- create-a-framework-for-ios
- iMindMap的分支美术
- 分解因式
- ElasticSearchRepository和ElasticSearchTemplate的使用
- JAVA两个数组间元素的比较(找出相同或者不同元素)