为了账号安全,请及时绑定邮箱和手机立即绑定

OpenShift 升级指南

标签:
Docker

概述

openshift-ansible 为 OpenShift Origin 集群提供了方便的升级手册,在主版本之间进行升级绝大部分没有问题。但请注意,从测试版(如 3.7.0-rc.0 -> 3.7.0)或者小版本(3.6.0 -> 3.6.1)升级时会有问题。

OpenShift Origin 版本和 openshift-ansible 分支的对照关系表如下:

Origin/OCPOpenShift-Ansible versionopenshift-ansible branch
1.3 / 3.33.3release-1.3
1.4 / 3.43.4release-1.4
1.5 / 3.53.5release-1.5
3.X3.Xrelease-3.x

官方的升级文档请访问 https://docs.openshift.org/latest/install_config/upgrading/index.html

主版本升级

主版本之间除 3.7 到 3.9 版本之间允许跨版本进行升级之外,其他主版本之间不允许跨版升级,具体见如下表格:

版本从版本至备注
3.6.x3.7
3.7.x3.8需手工设置 3.8 的 YUM 源
3.7.x3.9需手工设置 3.8 的 YUM 源
3.8.x3.9

通用升级步骤

我们以 3.6 升级至 3.7 为例来说明。

更新版本标识

编辑 ansible 配置文件 /etc/ansible/hosts 并将以下属性并修改为 3.7 版本的相应值。

#openshift_release=3.6openshift_release=3.7

运行升级手册

ansible-playbook /path/to/openshift-ansible/playbooks/byo/openshift-cluster/upgrades/v3_7/upgrade.yml

注意

Origin 3.7 版本以后默认会启用 Service Catalog 和 Template Service Broker 这两个组件。以目前国内的网络情况看,他们可能在安装前后都不会正常的工作,因此建议在升级前禁用它们。具体做法就是在 /etc/ansible/hosts 里面加入以下设置:

openshift_enable_service_catalog=falsetemplate_service_broker_install=false

跨版本升级

OpenShift 唯一一次允许跨版本升级是从 3.7.x 升级至 3.9,据官方文档描述,这个升级过程分为两个阶段:

  1. 从 3.7.x 升级到 3.8

  2. 从 3.8 升级到 3.9

全程自动升级,无需手工干预。不过,从笔者的升级实践上看,社区版进行升级时会由于未自动启用 3.8 的 YUM 软件源而升级失败,提示 Package 'origin-3.8*' not found 的错误。因此在升级之前,我们需要手工设置一下 Origin 3.8 的 YUM 软件源。

设置 Origin 3.8 软件源

将文件 CentOS-OpenShift-Origin38.repo 复制到目录 /etc/yum.repos.d/ 下。文件内容如下:

[centos-openshift-origin38]
name=CentOS OpenShift Origin
baseurl=http://mirror.centos.org/centos/7/paas/x86_64/openshift-origin38/
enabled=1gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-PaaS

[centos-openshift-origin38-testing]
name=CentOS OpenShift Origin Testing
baseurl=http://buildlogs.centos.org/centos/7/paas/x86_64/openshift-origin38/
enabled={{ 1 if openshift_repos_enable_testing else 0 }}
gpgcheck=0gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-PaaS

[centos-openshift-origin38-debuginfo]
name=CentOS OpenShift Origin DebugInfo
baseurl=http://debuginfo.centos.org/centos/7/paas/x86_64/enabled=0gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-PaaS

[centos-openshift-origin38-source]
name=CentOS OpenShift Origin Source
baseurl=http://vault.centos.org/centos/7/paas/Source/openshift-origin38/
enabled=0gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-PaaS

更新版本标识

编辑 ansible 配置文件 /etc/ansible/hosts 并将以下属性并修改为 3.7 版本的相应值。

openshift_release=3.9

运行升级手册

# 切换至 3.9 分支cd /path/to/openshift-ansible
git checkout release-3.9# 运行升级手册ansible-playbook playbooks/byo/openshift-cluster/upgrades/v3_9/upgrade.yml

小版本升级

小版本升级一般不需要变更 Ansible 的 hosts 文件,除非读者在之前的安装时强制指定了 openshift_image_tag 或者 openshift_pkg_version 这两个变量,那么您可能需要手工指定两个版本值或者直接去掉它们。

升级时读者仅需要找到当前主版本对应的升级手册运行即可。我们以 3.7 为例,最开始安装的时候,ansible 自动找到了明细的版本为 3.7.0,后面社区推出了小版本升级包 3.7.1,这时读者仅需要运行 3.7 对应的升级手册即可:

ansible-playbook /path/to/openshift-ansible/playbooks/byo/openshift-cluster/upgrades/v3_7/upgrade.yml

         

             




作者:莫失已忘
链接:https://www.jianshu.com/p/9f8e2497ee78


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消