Db2 for OpenShift : Db2U Operatorの更新方法

## はじめに
OpenShift/Kubernetes環境でDb2を動かすには、マイクロサービスとして開発される、k8s環境専用のDb2製品を導入します。
[Db2 for Red Hat OpenShift and Kubernetes](https://www.ibm.com/docs/en/db2/11.5?topic=deployments-db2-rhos-k8s)、別名Db2Uとも呼ばれます。

Db2 for OpenShift の導入/アップグレードには、ベンダーであるIBM社から公式に提供される Db2U Operator を利用します。
そしてDb2U Operator自身のアップグレードは、自動更新であればそもそも不要です。もし手動更新ポリシーで構成される場合も、GUI(Webコンソール)だけで実施可能です。

この記事では備忘録として、既に Db2 Operator が導入されている環境で、最新版Db2U Operatorにアップデートする手順とスクリーンショットを残します。


## 参考情報

下記ドキュメントの手順に沿って進めます。
 * [Db2マニュアル：Upgrading the Db2 Operator from the IBM Operator Catalog](https://www.ibm.com/docs/en/db2/11.5?topic=operator-upgrading-from-catalog)
 * [OpenShift Container Platform マニュアル： 4.10 > Operator > 4.2. インストール済み Operator の更新](https://access.redhat.com/documentation/ja-jp/openshift_container_platform/4.10/html/operators/olm-upgrading-operators)

※ Db2マニュアルだけでは読み取れない情報をOCPマニュアルで補足しながら進めます


## Db2U Operatorアップグレード手順分類
(2023/12追記)
Operatorの更新手順には2パターンに分かれます。

 1. 更新チャネルは同レベル、Operatorのバージョンが上がる
 1. 更新チャネル、Operatorともにバージョンが上がる

[マニュアル](https://www.ibm.com/docs/en/db2/11.5?topic=deployments-db2-rhos-k8s)から引用します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/468682/e6419450-308b-4350-b360-144b67d9a278.png)



## Db2 Operator の更新手順
Db2 Operatorの導入時、「更新の承認」としてどちらを選択したかにより、更新作業自体の要否が決まります。
 * 自動 → Operatorは自動更新される（作業不要）
 * 手動 → Operatorの手動更新が必要

ここでは、「手動」のポリシーにてOperator導入されている環境の更新手順を記録します。

### 1. 更新チャネルは同レベル、Operatorのバージョンが上がる場合の手順

Web コンソールの Administrator パースペクティブで、Operators → Installed Operators に移動し、更新チャネルを変更する Operator の名前をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/468682/e5ff7915-e312-3c8c-2ed7-50d32619c338.png)


Subscription タブをクリックします。
現在導入されているDb2uOperatorは db2u-operator.v110508.0.0 です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/468682/834ac247-c18a-5cbd-05c5-f25732dff002.png)



「アップグレードのステータス」の下にある「利用可能なアップグレード」リンクをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/468682/1de6df35-1889-02bc-80ec-74a8f146a99b.png)

「db2u-operator.v110508.0.2」コンポーネントが利用可能であることがわかります。
「InstallPlanのプレビュー」を押下します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/468682/8e9e2ec9-f7cd-4fe1-c91b-2f0fb9da480d.png)

「承認」を押下します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/468682/471b679c-8b8a-b2d3-bbd6-21dc1d73c2fc.png)

アップグレードが開始されます。
アップグレード中は、ステータスが「Installing」となります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/468682/f415b59f-f7c2-f010-2fac-1b5af6a5a2b9.png)

ステータスが「Complete」に代わります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/468682/bdaaa8a2-d186-7098-96ce-2bcd71d7419b.png)

「インストール済みのOperator」の一覧からもう一度Db2 Operatorを選択し画面を開くと、バージョンが上がっていることや、新たに追加されたAPIが増えていることが確認できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/468682/dae13bdf-650e-057b-dc15-66d6fc116bdb.png)

### 2. 更新チャネル、Operatorともにバージョンが上がる場合の手順

(2023/12追記)
Web コンソールの Administrator パースペクティブで、Operators → Installed Operators に移動し、更新チャネルを変更する Operator の名前をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/468682/820f96ee-0591-4192-973d-e30ac98dffc7.png)

「サブスクリプション」タブを開きます
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/468682/89003cd6-7540-9932-b83c-08c9f140fbd2.png)

「更新チャネル」のバージョンストリングのリンクをクリックします。
(ここでは、v110508.0)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/468682/93ddf007-ad1a-fd5d-bb10-93a01e3fa663.png)
※コンソールの「アップグレードのステータス」は「最新」となっていますが、現時点の更新チャネルのレベルにおける「最新」であり、最新であるわけではありません

利用可能なサブスクリプション更新チャネルのバージョンが表示されるため、最新バージョンを選択し、保存します
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/468682/8e2d0cf9-525a-6794-9a78-2d8093397b3b.png)

新しい更新チャネルが選択されました
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/468682/f08ef761-44c1-ec6f-0501-151f2d2fb637.png)




更新チャネルのバージョンを最新に上げたら、
「[1. 更新チャネルは同レベル、Operatorのバージョンが上がる場合の手順](###-1.-更新チャネルは同レベル、Operatorのバージョンが上がる場合の手順)」の手順に沿って、Operatorのバージョンを上げます。


以上です。

## 補足
#### (1)「更新の承認」ポリシーの確認方法
自環境のDb2 Operatorが、自動更新なのか手動更新なのかわからない場合には、Db2 Operator「サブスクリプション」タブを確認します。
手動更新(Operatorを手動で更新する必要あり)である場合には、「更新の承認」に「Manual」と表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/468682/de1c49d9-307c-4733-ca5c-b2f5aaf11c68.png)



#### (2) Operatorが最新かどうか
Db2 Operatorのバージョンが最新であるときは、Db2 Operator「サブスクリプション」タブの「アップグレードのステータス」に「最新」と表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/468682/53fdbec6-f467-423a-5a48-d65410f36a97.png)