官术网_书友最值得收藏!

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節點工作是否正常。

·生產環境升級之前,建議將升級版本在版本相同的非生產環境進行演練。

主站蜘蛛池模板: 通渭县| 乐业县| 泗洪县| 太康县| 瓦房店市| 红桥区| 渝中区| 浦江县| 西乌珠穆沁旗| 盐津县| 禹州市| 东安县| 馆陶县| 商丘市| 如皋市| 长顺县| 沿河| 凯里市| 淄博市| 泾源县| 北安市| 龙州县| 体育| 彭阳县| 长武县| 肥城市| 揭西县| 江孜县| 安泽县| 达孜县| 吉木萨尔县| 吉安县| 略阳县| 乌鲁木齐市| 剑河县| 迁安市| 通辽市| 宁蒗| 紫云| 太康县| 恭城|