IBMCloud ROKS(Openshift) WorkerNode パッチ更新作業

## 概要

* IBMCloudのROKS環境（Redhat Openshift 4.13.41 on VPC)でバージョン確認方法および、パッチ更新作業の手順を説明します
    * 実環境で検証操作が簡単には行えない本番運用管理者の方に、操作時間のご参考情報となれば幸いです
    * テスト環境にて実施したもので、環境に応じて作業時間の変わる点はご承知おきください


## 現在のWorkerNodeバージョンの確認

WorkerNodeが最新パッチが適用されているか確認する

### 1-1. WorkerNodeバージョン(patch)を確認する
以下の例(24/5/25時点)では、
* "4.13.41_1571"が最新パッチバージョンで公開されており、自分の環境では"4.13.38_1567"で古いことがわかる

* 最新パッチ情報は以下のIBMCloudDocsを確認してください。
    * [使用可能な Red Hat OpenShift バージョン](https://cloud.ibm.com/docs/openshift?topic=openshift-openshift_versions&locale=ja)

[実行ログ]
```python
%  ibmcloud oc worker ls --cluster cocgdb2t0t02hicxxxxx
OK
ID                                                       Primary IP     Flavor     State    Status   Zone       Version
kube-cocgdb2t0t02hicxxxxx-xxxpaasoccl-lowspec-000001f3   10.244.64.9    bx2.4x16   normal   Ready    jp-tok-2   4.13.38_1567_openshift*
kube-cocgdb2t0t02hicxxxxx-xxxpaasoccl-lowspec-0000022b   10.244.128.8   bx2.4x16   normal   Ready    jp-tok-3   4.13.38_1567_openshift*

* To update to 4.13.41_1571_openshift version, run 'ibmcloud ks worker replace'. Review and make any required version changes before you update: 'https://ibm.biz/upworker'
%
```
(上記ログでの確認ポイントは以下画像を参照)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703075/3c98e6c2-3f0b-3993-bc11-818172c9e9c2.png)

## WorkerNodeへのパッチ適用作業
 
 ### 2-1. WorkerNodeバージョン(patch)の適用

* 今回はパッチバージョンのみ更新を行います。
 [IBMCloudDocs VPC ワーカー・ノードの更新](https://cloud.ibm.com/docs/openshift?topic=openshift-update&locale=ja&interface=ui#vpc_worker_node)

* 方法はGUIでの操作もしくは"ibmcloud oc worker replace"コマンドのいずれかを利用します。
(今回はGUIでの操作を実施します)

* IBMCloudポータルMenu -> Openshift -> クラスター を選択
操作対象クラスターを選択し、ワーカー・ノードをクリック
複数あるWorkerNodeのうち、バージョンアップしたいNodeを選択
更新をクリック

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703075/729f9511-290a-0673-6404-fa97b2e148b2.png)

* 更新画面に従い、ゾーン名を入力し更新ボタンを選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703075/67a6ed65-cd8b-bfea-16f3-a736d6917845.png)

* 以下に作業時のタイムスタンプを記載します。
（本ケースではおよそ12分程度で完了）

xx:00 操作開始 ワーカーを削除中
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703075/b3c27a69-b7ee-cb12-0fdf-49e45c2f2ed7.png)

xx:05 プロビジョニング中
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703075/76272c73-b377-9c23-0345-2f50f96fd087.png)

xx:06 デプロイ中
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703075/3bb89d9c-7fa7-ec18-158b-a7ee6bec7120.png)

xx:09 不明/重大（２−３分程度ですが、不明/重大というステータスが表示されるのでご注意ください。）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703075/80e60d29-6932-0f58-55a1-947e946f5365.png)

xx:12 通常（更新完了)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703075/a9c775db-0f45-1d85-2baa-b80ee9f0bddb.png)

:::note info
WorkerNodeのパッチ適用前後でIPアドレスは変更されます。
以下は本事例での変更前後のIPアドレスです。
" 10.244.64.9 -> 10.244.64.7 "
:::

### 2-2. バージョンアップ後の確認

* GUIでの確認
IBMCloud Portalにてワーカー・ノードのバージョンが更新されていることを確認
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703075/a9c775db-0f45-1d85-2baa-b80ee9f0bddb.png)

* CUIでの確認

[実行ログ]
```Python
%  ibmcloud oc worker ls --cluster cocgdb2t0t02hicxxxxx
OK
ID                                                       Primary IP     Flavor     State    Status   Zone       Version
kube-cocgdb2t0t02hicxxxxx-xxxpaasoccl-lowspec-0000022b   10.244.128.8   bx2.4x16   normal   Ready    jp-tok-3   4.13.38_1567_openshift*
kube-cocgdb2t0t02hicxxxxx-xxxpaasoccl-lowspec-0000031c   10.244.64.7    bx2.4x16   normal   Ready    jp-tok-2   4.13.41_1571_openshift

* To update to 4.13.41_1571_openshift version, run 'ibmcloud ks worker replace'. Review and make any required version changes before you update: 'https://ibm.biz/upworker'
%
```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703075/2493030d-4050-9706-1ed6-3814bd396e51.png)

以上でパッチレベルのバージョンアップは完了となります。
Clusterに複数Nodeがあるため、残りのNodeも同一手順で対応してください。