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

Openshift集群3.9升级到3.10

标签:
Nginx

webp

Openshift 升级中......

更新方法与策略:自动升级方法

下载openshift-ansible的脚本代码

git clone https://github.com/openshift/openshift-ansible.git git checkout  release-3.10

将master上的/etc/origin/master/htpasswd备份到/root/htpasswd

scp master1:/etc/origin/master/htpasswd /root/htpasswd

openshift_master_identity_providers中的filename去掉

# /etc/ansible/hostsopenshift_master_identity_providers=[{'name': 'htpasswd_auth', 'login':'true','challenge': 'true', 'kind': 'HTPasswdPasswordIdentityProvider'}]
openshift_master_htpasswd_file=/root/htpasswd

屏蔽掉引入[gluster]导致的一个升级错误

playbooks/common/openshift-cluster/upgrades/v3_10/upgrade_control_plane.yml中会去做对glusterfsglusterfs_registry的比较,3.9之前未必需这些host group所以需要在ansible/hosts中需要添加该host group

#/etc/ansible/host[glusterfs]
[glusterfs_registry]

在ansible/hosts中的nodes列表中添加openshift_node_group_name

......
master openshift_node_group_name='node-config-master'node openshift_node_group_name='node-config-compute'infra openshift_node_group_name='node-config-infra'

升级默认的node group configmap

# ansible-playbook -i </path/to/inventory/file>  playbooks/openshift-master/openshift_node_group.yml

检测Python OpenSSL版本

python -c 'import OpenSSL.crypto'# 如果报错则需要升级Python OpenSSLyum install python2-pip
pip install -U pyopenssl -i https://pypi.douban.com/simple

关闭etcd目录的selinux检查【不建议这么做,建议开启selinux】
关闭任务Check selinux label of '{{ etcd_data_dir }}'与Make sure the '{{ etcd_data_dir }}' has the proper label

# roles/etcd/tasks/backup/backup.yml...
- name: Detecting Atomic Host Operating System  stat:
    path: /run/ostree-booted
  register: l_ostree_booted#- name: Check selinux label of '{{ etcd_data_dir }}'#  command: >#    stat -c '%C' {{ etcd_data_dir }}#  register: l_etcd_selinux_labels##- debug:#    msg: "{{ l_etcd_selinux_labels }}"##- name: Make sure the '{{ etcd_data_dir }}' has the proper label#  command: >#    chcon -t svirt_sandbox_file_t  "{{ etcd_data_dir }}"#  when:#  - l_etcd_selinux_labels.rc == 0#  - "'svirt_sandbox_file_t' not in l_etcd_selinux_labels.stdout"- name: Generate etcd backup  command: >
    {{ r_etcd_common_etcdctl_command }} backup --data-dir={{ l_etcd_incontainer_data_dir }}
    --backup-dir={{ l_etcd_incontainer_backup_dir }}
...

升级集群

# ansible-playbook -i </path/to/inventory/file>  playbooks/byo/openshift-cluster/upgrades/v3_10/upgrade.yml

升级过程中可能遇到的问题

webconsole自定义兼容问题

webconsole自定义格式是通过在openshift-web-console项目中的webconsole-configConfigMap添加css与js文件路径实现的,3.9版本支持路径不添加引号,而3.10版本必须添加引号。

selinux启动问题

每个节点(包括Master/router/node)都需要开启selinux。

ceph 无法挂载问题

升级过程中,如果有ceph挂载,则会出现超时,升级完成后,自动修复该问题。

HTPasswdPasswordIdentityProvider方式ansible_hosts文件格式更新问题

3.9版本可以将htpasswd文件路径填写在openshift_master_identity_providers变量中,而3.10版本则需要分开写,如下:

openshift_master_identity_providers=[{'name': 'htpasswd_auth', 'login':'true','challenge': 'true', 'kind': 'HTPasswdPasswordIdentityProvider'}]
openshift_master_htpasswd_file=/root/htpasswd

对于router节点添加了独占配置后,ovs服务无法部署问题

版本3.10将组件使用容器的方式部署,如果router节点设置了taints(目的是为了router节点只给route服务,确保应用的性能)那么node,ovs服务将无法在router节点上部署。这时需要给对应deamonset设置tolerations。目前相关的daemonset有:openshift-node/syncopenshift-sdn/sdnopenshift-sdn/ovs



作者:潘晓华Michael
链接:https://www.jianshu.com/p/f97558a48a13


点击查看更多内容
TA 点赞

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

评论

作者其他优质文章

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

100积分直接送

付费专栏免费学

大额优惠券免费领

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

举报

0/150
提交
取消