OpenShift 4 的升级服务提供了"over-the-air"特性来对OpenShift集群以及底层的Linux进行升级,这其中最关键的是使用了CVO(Cluster Version Operator)实现对自动对集群环境进行升级。 CVO会首先根据当前环境查看是否有合法的升级版本,以及基于当前版本的升级路径,当CVO发现新版本后会将升级配置传递给Machine Config Operator,MCO主要负责对节点主机进行管理,主机环境(包括CoreOS和OCP)的升级只能是通过MCO完成。

为了不影响业务连续运行,MCO是通过滚动的方式让每个节点升级。每个节点的升级过程是由Machine Config Daemons完成的,它首先下载升级介质,然后再进行节点升级操作。

我们可以通过以下方式查看CVO的运行状态。当关闭了CVO的时候,数量全部为“0”,此时OpenShift集群就无法升级了。

$ oc get deployments -n openshift-cluster-version
NAME                       DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
cluster-version-operator   1         1         1            1           2h

可以通过以下方式查看CVO的运行日志,其中包括了“Started”,“Desired”,“Finished”等不同状态。

$ oc logs deployments/cluster-version-operator -n openshift-cluster-version > operatorlog.txt
$ tail operatorlog.txt
。。。
I0514 20:48:20.887420       1 cvo.go:336] Started syncing cluster version "openshift-cluster-version/version" (2019-05-14 20:48:20.88740786 +0000 UTC m=+87191.276686302)
I0514 20:48:20.887478       1 cvo.go:364] Desired version from operator is v1.Update{Version:"4.1.0-rc.3", Image:"quay.io/openshift-release-dev/ocp-release@sha256:713aae8687cf8a3cb5c2c504f655
32dfe11e1b3534448ea9eeef5b0931d3e208", Force:false}
I0514 20:48:20.887574       1 cvo.go:338] Finished syncing cluster version "openshift-cluster-version/version" (162.252µs)
I0514 20:48:35.887466       1 cvo.go:336] Started syncing cluster version "openshift-cluster-version/version" (2019-05-14 20:48:35.887452731 +0000 UTC m=+87206.276731165)
I0514 20:48:35.887651       1 cvo.go:364] Desired version from operator is v1.Update{Version:"4.1.0-rc.3", Image:"quay.io/openshift-release-dev/ocp-release@sha256:713aae8687cf8a3cb5c2c504f655
32dfe11e1b3534448ea9eeef5b0931d3e208", Force:false}
I0514 20:48:35.887738       1 cvo.go:338] Finished syncing cluster version "openshift-cluster-version/version" (280.777µs)
I0514 20:48:50.887443       1 cvo.go:336] Started syncing cluster version "openshift-cluster-version/version" (2019-05-14 20:48:50.887431061 +0000 UTC m=+87221.276709496)
I0514 20:48:50.887516       1 cvo.go:364] Desired version from operator is v1.Update{Version:"4.1.0-rc.3", Image:"quay.io/openshift-release-dev/ocp-release@sha256:713aae8687cf8a3cb5c2c504f655
32dfe11e1b3534448ea9eeef5b0931d3e208", Force:false}
I0514 20:48:50.887675       1 cvo.go:338] Finished syncing cluster version "openshift-cluster-version/version" (239.797µs)
。。。

OpenShift 4 之集群是如何通过Cluster Version Operator升级的?相关推荐

  1. 在CentOS上配置Percona XtraDB集群(Percona XtraDB Cluster)

    原作者:Percona官网 翻译&转载来源:https://www.percona.com/doc/percona-xtradb-cluster/LATEST/howtos/centos_ho ...

  2. DM8守护集群(主备)数据库补丁升级操作

    概述 本文介绍在测试环境对DM8守护集群数据库补丁升级操作相关内容. 一.升级集群介绍 1.1升级集群架构说明 本次升级守护集群架构如下图,有A.B.C三台机器,分别是主库.备库和监视器. 1.2集群 ...

  3. OpenShift 4 - 为集群配置镜像签名功能,只能运行被签名的本地镜像

    <OpenShift 4.x HOL教程汇总> 说明:本文已经在OpenShift 4.8环境中验证 文章目录 配置签名环境 安装镜像签名的Operator 为集群指定签名用的 sigst ...

  4. OpenShift 4 - 在集群节点用crictl对Pod/Image/Container进行操作

    <OpenShift 4.x HOL教程汇总> 说明:本文已经在OpenShift 4.6环境中验证 文章目录 查看crictl命令的配置文件 用crictl命令操作Pod/Image/C ...

  5. OpenShift 4 - 设置集群节点和Pod容器的时间和时区

    <OpenShift 4.x HOL教程汇总> 说明:本文已经在OpenShift 4.6环境中验证 文章目录 OpenShift的时间和时区 节点和容器的时间 节点和容器的时区 节点时间 ...

  6. tomcat集群 (自带Cluster集群)

    不用借助其他任何工具,tomcat自身就可以实现session共享,实现集群.以下为大概步骤 1,如果是在同一台机器上,请保持多个tomcat端口(一个tomcat对应三个端口)不相同:如果是不同机器 ...

  7. Spark练习 - 提交作业到集群 - submit job via cluster

    Created by Wang, Jerry, last modified on Sep 12, 2015 start-master.sh ( sbin folder下) then ps -aux 7 ...

  8. redis集群 + 哨兵 + zookeeper_Redis05——Redis Cluster 如何实现分布式集群

     前面一片文章,我们已经说了Redis的主从集群及其哨兵模式.本文将继续介绍Redis的分布式集群. " 在高并发场景下,单个Redis实例往往不能满足业务需求.单个Redis数据量过大会 ...

  9. 计算机集群英语怎么说,cluster是什么意思_cluster的翻译_音标_读音_用法_例句_爱词霸在线词典...

    全部 丛生 群聚 a diamond cluster ring 群镶钻戒 朗文当代高级英语词典 第6版 a cluster of stars 星团 牛津词典 The plant bears its f ...

最新文章

  1. Android学习书籍参考
  2. 实战matlab之并行程序设计.pdf,实战Matlab之并行程序设计_IT教程网
  3. localBlock在java_将java.util.Date转换为java.time.LocalDate
  4. mysql创建非聚集索引_一文看懂聚集索引和非聚集索引的区别
  5. MySQL的distinct:去重
  6. ASP.NET Core MVC 之依赖注入 View
  7. android html 启动app,Android js交互 与 Html启动App
  8. 今天,我辞职了,35岁对测试员的影响究竟有多大?
  9. [转载] Python字符串解析
  10. 计算机组装与配置答案,解答电脑组装配置有哪些
  11. js,vue 上传图片前压缩图片(无损压缩,保持在2M以内)
  12. C语言构造有理数的函数,创建有理数对象
  13. P1919 FFT加速高精度乘法
  14. 堆漏洞挖掘:19---_lib_malloc函数源码详解
  15. 倒计时!「一起学」大会线下分享与社群内部直播!
  16. CentOS7.5 重装 SSH 与 禁止网卡休眠
  17. 什么是熵(entropy)?
  18. 使用sqlite数据库和tkinter实现用户和管理员的登录系统以及图书管理系统
  19. C#参数详解一(形参和实参)
  20. Java-11-访问字符串中字符与字符串长度

热门文章

  1. 子集和问题 算法_LeetCode 90 | 经典递归问题,求出所有不重复的子集II
  2. 2维数组 qt_Qt编写地图综合应用11-动态添加
  3. prometheus命令_Prometheus+Grafana 基础及简单搭建
  4. zipkin使用_我的Spring Cloud(十):Zipkin 服务跟踪
  5. c语言表达式10 6的结果,C语言表达式(++i)+(++i)+(++i)结果多少?
  6. 在保护继承中基类的共有成员_C++学习刷题13--继承的实现、继承的方式
  7. 呼叫 :邓伦粉丝!手机桌面壁纸来喽
  8. 看看如何有效地在你的设计工作中使用霓虹色?
  9. UI历练素材|成功,少不了的临摹进阶
  10. 计算机高级技师考试题,高级技师考试题及答案.doc