Openshift叢集3.9升級到3.10
Openshift 升級中......
更新方法與策略:自動升級方法
下載openshift-ansible的指令碼程式碼
git clone 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
中會去做對glusterfs
與glusterfs_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
關閉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-config
ConfigMap新增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/sync
、openshift-sdn/sdn
、openshift-sdn/ovs
。
作者:潘曉華Michael
連結:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/3244/viewspace-2820633/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 在受限網路裸機上安裝Openshift 4.6叢集
- Kubernetes 叢集升級指南:從理論到實踐
- Elasticsearch叢集升級指引Elasticsearch
- k8s叢集V1.15.3升級到V1.16.0K8S
- k8s 叢集升級K8S
- 將 .NET Aspire 部署到 Kubernetes 叢集
- 老闆:把系統從單體架構升級到叢集架構!架構
- Kubernetes 叢集無損升級實踐
- Zookeeper叢集 + Kafka叢集Kafka
- Docker中提交任務到Spark叢集DockerSpark
- 基於Ubuntu部署企業級kubernetes叢集---k8s叢集容部署UbuntuK8S
- RabbitMQ從零到叢集高可用(.NetCore5.0) -高可用叢集構建落地MQNetCore
- 保姆級教程,帶你認識大資料,從0到1搭建 Hadoop 叢集大資料Hadoop
- 搭建zookeeper叢集(偽叢集)
- 升級kubeadm 叢集(只有master單節點)AST
- 記一次阿里雲 Redis 主從版升級到 Redis 叢集版的坑阿里Redis
- zookeeper叢集及kafka叢集搭建Kafka
- 升級 kubeadm 部署的 k8s 叢集K8S
- Centos7升級K8S叢集CentOSK8S
- 如何命令級安裝weblogic11g叢集Web
- 手把手從0到1:搭建Kubernetes叢集
- Redis系列:搭建Redis叢集(叢集模式)Redis模式
- linux下搭建ZooKeeper叢集(偽叢集)Linux
- redis偽叢集配置Cluster叢集模式Redis模式
- Openshift
- 阿里雲 ACK One 多叢集管理全面升級:多叢集服務、多叢集監控、兩地三中心應用容災阿里
- hadoop window 遠端提交job到叢集並執行Hadoop
- Rancher2.1從搭建叢集到pipeline部署專案
- 共建世界級電子資訊和裝備製造產業叢集、人工智慧產業叢集產業人工智慧
- redis叢集Redis
- ceph叢集
- redis 叢集Redis
- RabbitMQ叢集MQ
- ES叢集
- Febrac8 + OpenShift + Kubernetes (3) Install OpenShift
- 將Standard標準叢集修改為Flex叢集Flex
- 基於Dokcer搭建Redis叢集(主從叢集)Redis
- 『中級篇』叢集服務間通訊之RoutingMesh(47)