- OpenShift在企業中的實踐:PaaS DevOps微服務(第2版)
- 魏新宇 郭躍軍
- 858字
- 2021-11-05 10:17:22
3.4.3 OpenShift的離線升級
從上一小節可以看到OpenShift的在線升級很方便,但很多客戶的數據中心是無法連接外網的,因此只能進行離線升級。離線升級的示意圖如圖3-60所示。

圖3-60 離線升級的示意圖
在離線升級中,我們無法從OpenShift UI中獲取升級通道信息。我們有兩種方法確認升級路徑:
1)訪問網站https://ctron.github.io/openshift-update-graph,可以清晰查看各個版本的升級路徑。
2)通過命令行獲取。
由于很多時候需要用命令行進行運維,因此我們主要介紹第二種方法。在第二種方法中,需要在另外一個有oc客戶端的、可訪問外網的系統中獲取升級通道。首先設置環境變量:
#export LOCAL_REPOSITORY=ocp4/openshift4 #export LOCAL_SECRET_JSON=$HOME/ocp_pullsecret.json #export PRODUCT_REPO=openshift-release-dev #export RELEASE_NAME=ocp-release #export ARCHITECTURE=x86_64
如果想將離線環境的OpenShift升級到OCP 4.5.3的版本,可查一下升級路徑,命令執行結果如圖3-61所示。
#export OCP_RELEASE=4.5.3 # oc adm release info -a ${LOCAL_SECRET_JSON} "quay.io/${PRODUCT_REPO}/${RELEASE_ NAME}:${OCP_RELEASE}-${ARCHITECTURE}" | head -n 18

圖3-61 查看OpenShift升級路徑
從輸出結果我們可以看到,從4.4.10,4.4.11,4.4.12,4.4.13,4.4.14,4.4.15,4.5.1,4.5.2這幾個OCP版本,都能一步升級到4.5.3。如果我們現在的版本是4.4.8,不在升級到4.5.3的路徑里,怎么辦?
我們查看4.5.3的升級路徑中,離4.4.8最近的是4.4.10,我們利用命令行,查看4.4.10 OCP版本的升級路徑,命令執行結果如圖3-62所示。
#export OCP_RELEASE=4.4.10 #oc adm release info -a ${LOCAL_SECRET_JSON} "quay.io/${PRODUCT_REPO}/${RELEASE_ NAME}:${OCP_RELEASE}-${ARCHITECTURE}" | head -n 18

圖3-62 查看OpenShift升級路徑
我們看到從4.4.8可以直接升級到4.4.10,然后再從4.4.10升級到4.5.3,一共需要升級兩次。
離線升級需要提前將高版本的OpenShift安裝鏡像導入Mirror Registry中(導入方法參考3.2.3節)。然后通過如下命令行指定版本進行升級。
# oc adm upgrade --allow-explicit-upgrade --allow-upgrade-with-warnings=true --force=true --to-image=repo.apps.weixinyucluster.bluecat.ltd:5000/ocp4/ openshift4:4.4.10
這樣,OpenShift就會使用Mirror Registry中的OpenShift 4.4.10鏡像進行升級。在升級過程中,通過如下命令行監控升級進度。
# oc get clusterversion NAME VERSION AVAILABLE PROGRESSING SINCE STATUS version 4.4.8 True True 6d4h Working towards repo.apps. weixinyucluster.bluecat.ltd:5000/ocp4/openshift4:4.4.10: downloading update
當升級成功后,PROGRESSING狀態會變為“False”,版本顯示為4.4.10。
# oc get clusterversion NAME VERSION AVAILABLE PROGRESSING SINCE STATUS version 4.4.10 True False 22h Cluster version is 4.4.10
最后,通過oc get co命令,確保所有的Cluster Operator版本正確。通過oc get mcp確保所有的MachineConfig Pool狀態正常、升級完成。
雖然OpenShift離線升級和在線升級都不復雜,但需要注意以下幾點:
·生產環境升級要避免太過頻繁,選擇升級到長生命支持周期的OpenShift版本,如OpenShift 4.6版本。
·生產環境升級的版本一定要選擇Stable Channel發布的版本(避免出現Bug)。
·生產環境升級之前需要查看OpenShift的升級路徑,查看MachineConfig Pool的狀態是否正常,查看現有Cluster Operator和OCP節點工作是否正常。
·生產環境升級之前,建議將升級版本在版本相同的非生產環境進行演練。
- Spring 5.0 Microservices(Second Edition)
- 數據庫系統原理及MySQL應用教程
- Learning SQLite for iOS
- Mastering Predictive Analytics with Python
- 小學生C++創意編程(視頻教學版)
- Nginx Lua開發實戰
- FPGA Verilog開發實戰指南:基于Intel Cyclone IV(進階篇)
- Image Processing with ImageJ
- C++從入門到精通(第6版)
- Visual Basic程序設計全程指南
- 深入淺出Python數據分析
- 邊玩邊學Scratch3.0少兒趣味編程
- HTML5移動前端開發基礎與實戰(微課版)
- Getting Started with Web Components
- Ubuntu Server Cookbook