Update OpenShift（OCP4.14 to 4.16）

Red Hat OpenShift on IBM Cloud (ROKS)のバージョンアップデート手順について記載する。  
今回は、Red Hat OpenShift on IBM Cloud コンソールのクラスター管理画面で、4.14から4.16へのアップデートを行う。  

## 手順の流れ

- 4.14 --> 4.15
  - マスターの更新
  - ワーカー・ノードの更新
- 4.15 --> 4.16
  - マスターの更新
  - ワーカー・ノードの更新

## 前提条件

`oc login`を既に行っていること。

## 4.14 --> 4.15

### マスターの更新

１. クラスターバージョンを確認する。 
```bash
$ oc get clusterversion
NAME      VERSION   AVAILABLE   PROGRESSING   SINCE   STATUS
version   4.14.40   True        False         12d     Cluster version is 4.14.40
```

２. クラスターオペレーターのバージョンを確認する。
```bash
$ oc get clusteroperators
NAME                                       VERSION   AVAILABLE   PROGRESSING   DEGRADED   SINCE   MESSAGE
console                                    4.15.38   True        False         False      53d
csi-snapshot-controller                    4.15.38   True        False         False      329d
dns                                        4.15.38   True        False         False      334d
image-registry                             4.15.38   True        False         False      253d
ingress                                    4.15.38   True        False         False      334d
insights                                   4.15.38   True        False         False      324d
kube-apiserver                             4.15.38   True        False         False      334d
kube-controller-manager                    4.15.38   True        False         False      334d
kube-scheduler                             4.15.38   True        False         False      334d
kube-storage-version-migrator              4.15.38   True        False         False      329d
marketplace                                4.15.38   True        False         False      334d
monitoring                                 4.15.38   True        False         False      268d
network                                    4.15.38   True        False         False      334d
node-tuning                                4.15.38   True        False         False      34d
openshift-apiserver                        4.15.38   True        False         False      334d
openshift-controller-manager               4.15.38   True        False         False      334d
openshift-samples                          4.15.38   True        False         False      11m
operator-lifecycle-manager                 4.15.38   True        False         False      334d
operator-lifecycle-manager-catalog         4.15.38   True        False         False      334d
operator-lifecycle-manager-packageserver   4.15.38   True        False         False      12d
service-ca                                 4.15.38   True        False         False      334d
storage                                    4.15.38   True        False         False      334d
```

３. Red Hat OpenShift on IBM Cloud コンソールのクラスター管理画面で、マスターをアップデートする。

「アクション」 > 「バージョンの更新」 をクリックする。
![ocpupdate_01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3673302/16e826dd-d2d1-4525-8ffe-65ad2f7a1ae0.png)


「更新」 をクリックする。
![ocpupdate_02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3673302/35200683-dbbf-44c8-8c87-702caa283993.png)


更新が開始される。完了までに、35分程度かかる。
![ocpupdate_03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3673302/b93b5df8-46ad-4923-bcc9-9fd79391aee6.png)

![ocpupdate_04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3673302/f2f8e21a-6686-486a-93cd-4a75222c1b15.png)


更新が完了する。バージョンが`4.15.38`にアップデートされていることが確認できる。
![ocpupdate_05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3673302/d057c95e-51ac-49e0-a4a0-0390193641d1.png)


４. CLIとWebコンソールでも、バージョンが`4.15.38`にアップデートされていることを確認する。

▼CLI
```bash
$ oc get clusterversion
NAME      VERSION   AVAILABLE   PROGRESSING   SINCE   STATUS
version   4.15.38   True        False         64s     Cluster version is 4.15.38
```

▼Webコンソール
![ocpupdate_06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3673302/d25c395c-9d0f-483a-81c4-ba89b771d40c.png)


５. CLIとWebコンソールでも、クラスターオペレーターのバージョンが全て`4.15.38`にアップデートされていることを確認する。

▼CLI
```bash
$ oc get clusteroperators
NAME                                       VERSION   AVAILABLE   PROGRESSING   DEGRADED   SINCE   MESSAGE
console                                    4.15.38   True        False         False      53d
csi-snapshot-controller                    4.15.38   True        False         False      329d
dns                                        4.15.38   True        False         False      334d
image-registry                             4.15.38   True        False         False      253d
ingress                                    4.15.38   True        False         False      334d
insights                                   4.15.38   True        False         False      324d
kube-apiserver                             4.15.38   True        False         False      334d
kube-controller-manager                    4.15.38   True        False         False      334d
kube-scheduler                             4.15.38   True        False         False      334d
kube-storage-version-migrator              4.15.38   True        False         False      329d
marketplace                                4.15.38   True        False         False      334d
monitoring                                 4.15.38   True        False         False      268d
network                                    4.15.38   True        False         False      334d
node-tuning                                4.15.38   True        False         False      34d
openshift-apiserver                        4.15.38   True        False         False      334d
openshift-controller-manager               4.15.38   True        False         False      334d
openshift-samples                          4.15.38   True        False         False      11m
operator-lifecycle-manager                 4.15.38   True        False         False      334d
operator-lifecycle-manager-catalog         4.15.38   True        False         False      334d
operator-lifecycle-manager-packageserver   4.15.38   True        False         False      12d
service-ca                                 4.15.38   True        False         False      334d
storage                                    4.15.38   True        False         False      334d
```

▼Webコンソール
![ocpupdate_07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3673302/1d6cfc0a-69cc-4c6e-95c0-64eb6193b760.png)



### ワーカー・ノードの更新

ワーカー・ノードを選択し（チェックボックスにチェックを入れる）、「更新」をクリックする。
![ocpupdate_08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3673302/b76c0a03-b57c-4e2b-8558-13a892ce21e0.png)


指定された文字列を入力し、「更新」をクリックする。
![ocpupdate_09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3673302/1579440c-d0a8-4841-b041-361da17be9b2.png)


更新が開始される。完了までに、10分程度かかる。
![ocpupdate_10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3673302/39d3f72b-a91b-48a1-8f69-1e60d5c395d1.png)

![ocpupdate_11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3673302/5019c40f-2dec-46ba-983e-89df9093797f.png)

![ocpupdate_12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3673302/f5096173-6174-4a33-8d7e-13c337ee186d.png)

![ocpupdate_13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3673302/7e243189-52ed-445a-a469-c9897ea1e6cc.png)

![ocpupdate_14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3673302/695c9627-29cc-4ecb-aa74-7c4337c8e4fd.png)


更新が完了する。バージョンが`4.15.41`にアップデートされていることが確認できる。
![ocpupdate_15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3673302/0118afbd-16ee-45da-bf37-8cecef29a73f.png)

![ocpupdate_16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3673302/ebd257d9-0b3d-42be-a9c9-727fb7d097ed.png)



## 4.15 --> 4.16

### マスターの更新

１. 以下のコマンドを実行して、評価が完了し、クラスターが OpenShift Container Platform 4.16 で Kubernetes API を削除する準備ができていることを確認する。
- 参考：[第2章 クラスターの更新の準備 / 2.1.2.4. 管理者の確認の提供](https://docs.redhat.com/ja/documentation/openshift_container_platform/4.16/html/updating_clusters/preparing-to-update-a-cluster#update-preparing-ack_updating-cluster-prepare)

```
$ oc -n openshift-config patch cm admin-acks --patch '{"data":{"ack-4.15-kube-1.29-api-removals-in-4.16":"true"}}' --type=merge
configmap/admin-acks patched
```
:::note info
Note
このコマンドを実行しないと、マスターバージョンを更新しようとしても、暫くすると、更新されないまま元に戻ってしまう。
:::

２. Red Hat OpenShift on IBM Cloud コンソールのクラスター管理画面で、マスターをアップデートする。

「アクション」 > 「バージョンの更新」 をクリックする。
![ocpupdate_17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3673302/84e2b1de-824f-4dcf-9341-8f0e366d836a.png)


「更新」 をクリックする。
![ocpupdate_18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3673302/5454e949-886b-467f-817a-851dab5b555f.png)


更新が開始される。完了までに、35分程度かかる。
![ocpupdate_19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3673302/d1055a8f-4465-49a7-bf81-339886a15b90.png)

![ocpupdate_20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3673302/ebdeb5b8-4688-4aea-a4a9-9d3dfb873daa.png)


更新が完了する。バージョンが`4.16.23`にアップデートされていることが確認できる。
![ocpupdate_21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3673302/f9d38619-fbb9-4560-9999-1a77e4f8285b.png)


３. CLIとWebコンソールでも、バージョンが`4.16.23`にアップデートされていることを確認する。

▼CLI
```
$ oc get clusterversion
NAME      VERSION   AVAILABLE   PROGRESSING   SINCE   STATUS
version   4.16.23   True        False         13s     Cluster version is 4.16.23
```

▼Webコンソール
![ocpupdate_22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3673302/f1e47de7-1fbf-4594-b1ba-372f0b4cd9e1.png)


４. CLIとWebコンソールでも、クラスターオペレーターのバージョンが全て`4.16.23`にアップデートされていることを確認する。

▼CLI
```
$ oc get clusteroperators
NAME                                       VERSION   AVAILABLE   PROGRESSING   DEGRADED   SINCE   MESSAGE
console                                    4.16.23   True        False         False      148m
csi-snapshot-controller                    4.16.23   True        False         False      329d
dns                                        4.16.23   True        False         False      334d
image-registry                             4.16.23   True        False         False      148m
ingress                                    4.16.23   True        False         False      147m
insights                                   4.16.23   True        False         False      324d
kube-apiserver                             4.16.23   True        False         False      334d
kube-controller-manager                    4.16.23   True        False         False      334d
kube-scheduler                             4.16.23   True        False         False      334d
kube-storage-version-migrator              4.16.23   True        False         False      148m
marketplace                                4.16.23   True        False         False      334d
monitoring                                 4.16.23   True        False         False      268d
network                                    4.16.23   True        False         False      334d
node-tuning                                4.16.23   True        False         False      152m
openshift-apiserver                        4.16.23   True        False         False      334d
openshift-controller-manager               4.16.23   True        False         False      334d
openshift-samples                          4.16.23   True        False         False      16m
operator-lifecycle-manager                 4.16.23   True        False         False      334d
operator-lifecycle-manager-catalog         4.16.23   True        False         False      334d
operator-lifecycle-manager-packageserver   4.16.23   True        False         False      12d
service-ca                                 4.16.23   True        False         False      334d
storage                                    4.16.23   True        False         False      334d
```

▼Webコンソール
![ocpupdate_23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3673302/58605110-1d2c-4cec-83e4-1d7b303aa3ff.png)



### ワーカー・ノードの更新

ワーカー・ノードを選択し（チェックボックスにチェックを入れる）、「更新」をクリックする。
![ocpupdate_24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3673302/fed6846e-1e32-4fea-b390-87c17304b5b7.png)


指定された文字列を入力し、「更新」をクリックする。
![ocpupdate_25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3673302/990a606d-98e8-45c6-ac5b-77d767ef8499.png)


更新が開始される。完了までに、10分程度かかる。
![ocpupdate_26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3673302/c77f91cb-59eb-43d4-9248-d68b7761a95e.png)

![ocpupdate_27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3673302/fb63f3b7-15e3-4b77-8ddf-c3e751b1c0a3.png)


更新が完了する。バージョンが`4.16.26`にアップデートされていることが確認できる。
![ocpupdate_28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3673302/0be46e22-df76-43d9-8c74-5fc6b3744697.png)

![ocpupdate_29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3673302/5f126a02-aeeb-424c-bb64-7b28dd6fad4e.png)


## 参考

- [クラスター、ワーカー・ノード、クラスター・コンポーネントの更新](https://cloud.ibm.com/docs/openshift?topic=openshift-update)