更新方法與策略:自動升級方法
更新openshift-ansible的腳本代碼
git pull
git checkout -b release-3.7
安裝需要的包
ansible all -m yum -a 'name=pyOpenSSL state=present'
關(guān)閉Service Catalog和Template Service Broker典格。
3.7 以上版本默認(rèn)會啟用 Service Catalog 和 Template Service Broker
# /etc/ansible/hosts
...
openshift_enable_service_catalog=false
template_service_broker_install=false
ansible_service_broker_install=false
...
關(guān)閉etcd目錄的selinux檢查
關(guān)閉任務(wù)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 }}
...
執(zhí)行更新
ansible-playbook -i inventory-hosts playbooks/byo/openshift-cluster/upgrades/v3_7/upgrade.yml
查看當(dāng)前oc版本及各node版本
oc version
oc get node
升級后發(fā)現(xiàn)的問題
RBD的storageclass異常
# 解決方法向抢,storageclass.parameters中添加 imageFormat: "1"
apiVersion: storage.k8s.io/v1
metadata:
name: ceph-rbd-sc
Parameters:
adminId: admin
adminSecretName: ceph-secret
adminSecretNamespace: kube-system
fsType: ext4
imageFormat: "1"
monitors: 192.168.1.3:6789
pool: rbd
userId: admin
userSecretName: ceph-secret
Provisioner: kubernetes.io/rbd