はじめに
IBM Kubernetes Service の Ubuntu 18 が 2023年4月末で Deprecation (非推奨,サポート外)となるため、Ubuntu 20への置き換えを実施しました。
参照手順: 新しいUbuntuバージョンへのマイグレーション
環境
IBM Cloud Kubernetes Service: 1.24
クラスター名: iks-testcluster
使用しているワーカー・プール名: iks-test1-org (Ubuntu 18)
新しいワーカー・プール名: iks-test1 (Ubuntu20)
ノード数: 1 (専用ハードウェア)
使用可能 flavor の確認
ゾーンの tok02 の flavor を確認します。
$ ibmcloud ks flavors --zone tok02
OK
これらのフレーバーについて詳しくは、'https://ibm.biz/flavors' を参照してください
名前 コア メモリー ネットワーク速度 OS サーバー・タイプ ストレージ 2 次ストレージ フレーバー・クラス プロバイダー
b3c.16x64 16 64GB 1000Mbps UBUNTU_18_64 virtual 25GB 100GB - classic
b3c.16x64.300gb 16 64GB 1000Mbps UBUNTU_18_64 virtual 25GB 300GB - classic
b3c.32x128 32 128GB 1000Mbps UBUNTU_18_64 virtual 25GB 100GB - classic
b3c.4x16 4 16GB 1000Mbps UBUNTU_18_64 virtual 25GB 100GB - classic
b3c.56x242 56 242GB 1000Mbps UBUNTU_18_64 virtual 25GB 100GB - classic
b3c.8x32 8 32GB 1000Mbps UBUNTU_18_64 virtual 25GB 100GB - classic
c3c.16x16 16 16GB 1000Mbps UBUNTU_18_64 virtual 25GB 100GB - classic
c3c.16x32 16 32GB 1000Mbps UBUNTU_18_64 virtual 25GB 100GB - classic
c3c.32x32 32 32GB 1000Mbps UBUNTU_18_64 virtual 25GB 100GB - classic
c3c.32x64 32 64GB 1000Mbps UBUNTU_18_64 virtual 25GB 100GB - classic
m3c.16x128 16 128GB 1000Mbps UBUNTU_18_64 virtual 25GB 100GB - classic
m3c.30x240 30 240GB 1000Mbps UBUNTU_18_64 virtual 25GB 100GB - classic
m3c.4x32 4 32GB 1000Mbps UBUNTU_18_64 virtual 25GB 100GB - classic
m3c.8x64 8 64GB 1000Mbps UBUNTU_18_64 virtual 25GB 100GB - classic
mb4c.20x192 20 192GB 10000Mbps UBUNTU_18_64 physical 2TB 960GB - classic
mb4c.20x384 20 384GB 10000Mbps UBUNTU_18_64 physical 2TB 960GB - classic
mb4c.20x64 20 64GB 10000Mbps UBUNTU_18_64 physical 2TB 960GB - classic
mb4c.20x64.2x1.9tb.ssd 20 64GB 10000Mbps UBUNTU_18_64 physical 2TB 960GB - classic
mb4c.32x384.3.8tb.ssd 32 384GB 10000Mbps UBUNTU_18_64 physical 2TB 1.92TB - classic
mb4c.32x384.6x3.8tb.ssd 32 384GB 10000Mbps UBUNTU_18_64 physical 2TB 1.92TB - classic
mb4c.32x768.3.8tb.ssd 32 768GB 10000Mbps UBUNTU_18_64 physical 2TB 960GB - classic
mb4c.48x1536 48 1536GB 10000Mbps UBUNTU_18_64 physical 2TB 960GB - classic
me4c.4x32 4 32GB 10000Mbps UBUNTU_18_64 physical 2TB 2TB - classic
me4c.4x32.1.9tb.ssd 4 32GB 10000Mbps UBUNTU_18_64 physical 2TB 960GB - classic
mg4c.32x384.2xp100 32 384GB 10000Mbps UBUNTU_18_64 physical 2TB 960GB - classic
mg4c.48x384.2xv100 48 384GB 10000Mbps UBUNTU_18_64 physical 2TB 960GB - classic
u3c.2x4† 2 4GB 1000Mbps UBUNTU_18_64 virtual 25GB 100GB - classic
† Kubernetes クラスターでのみサポートされます。 OpenShift クラスターではサポートされません。
$
この時は Ubuntu18 がデフォルトだったため、OSは Ubuntu18で表示されていました。
b3c.32x128 を使用します。
手順
① 事前情報確認
プールの確認
$ ibmcloud ks worker ls --cluster iks-testcluster --worker-pool iks-test1-org
OK
ID パブリック IP プライベート IP フレーバー 状態 状況 ゾーン バージョン
kube-tok02-xxxx2xxxx9c90b5xxxxxxxxxxxx-w3 xxx.xx.xxx.xx xxx.xx.xxx.xx b3c.32x128.encrypted normal Ready tok02 1.24.4_1537*
* 1.24.10_1553 バージョンに更新するには、「ibmcloud ks worker update」を実行します。 更新する前に、必要なバージョンの変更があれば検討および実行してください: 'https://ibm.biz/upworker'
$
ノード詳細確認
$ ibmcloud ks worker get --cluster iks-testcluster --worker kube-tok02-xxxx2xxxx9c90b5xxxxxxxxxxxx-w3
ワーカー kube-tok02-xxxx2xxxx9c90b5xxxxxxxxxxxx-w3 を取得中...
OK
ID: kube-tok02-xxxx2xxxx9c90b5xxxxxxxxxxxx-w3
状態: normal
状況: Ready
プライベート VLAN: xxxxxxx
パブリック VLAN: xxxxxxx
プライベート IP: xxx.xx.xxx.xx
パブリック IP: xxx.xx.xxx.xx
ハードウェア: dedicated
プール名: iks-test1-org
プール ID: xxxx2xxxx9c90b5xxxxxxxxxxxx
ゾーン: tok02
フレーバー: b3c.32x128.encrypted
バージョン: 1.24.4_1537 (1.24.10_1553 latest)
1.24.10_1553 バージョンに更新するには、「ibmcloud ks worker update --cluster iks-testcluster --worker kube-tok02-xxxx2xxxx9c90b5xxxxxxxxxxxx-w3」を実行します。 更新する前に、必要なバージョンの変更があれば検討および実行してください: 'https://ibm.biz/upworker'
$
後で使用するためプライベートVLAN、パブリックVLAN を控えておきます。
② Ubuntu 20 worker pool 作成
OS (--operating-system)は Ubuntu_20_64を指定します。
プール内のノード数は1(--size-per-zone 1) 、専用ノード(--hardware dedicated) で作成しています。
$ ibmcloud ks worker-pool create classic --name iks-test1 --cluster iks-testcluster --flavor b3c.32x128 --operating-system UBUNTU_20_64 --size-per-zone 1 --hardware dedicated
OK
$
確認
$ ibmcloud ks worker-pool ls --cluster iks-testcluster
OK
名前 ID フレーバー OS ワーカー
iks-test1 cxxxxxx2249cxxxxxx20a3f1-xxxxxxx b3c.32x128.encrypted UBUNTU_20_64 1
iks-test1-org xxxxx342249c90bxxxxx-ae65xxxx b3c.32x128.encrypted - 1
$
③ ワーカー・プールにゾーンを追加
参考:
https://cloud.ibm.com/docs/containers?topic=containers-add_workers#add_zone
$ ibmcloud ks zone add classic --zone tok02 --cluster iks-testcluster --worker-pool iks-test1 --private-vlan xxxxxx --public-vlan xxxxxx
OK
$
この時点で worker node が作成されます。
確認
$ ibmcloud ks worker ls --cluster iks-testcluster
OK
ID パブリック IP プライベート IP フレーバー 状態 状況 ゾーン バージョン
kube-tok02-xxxx2xxxx9c90b5xxxxxxxxxxxx-w3 xxx.xx.xx.xxx xx.xxx.xx.xxx b3c.32x128.encrypted normal Ready tok02 1.24.4_1537*
kube-tok02-xxxx22xxxxxxxxc90b5xxxxxxxxxxxx-w4 - - b3c.32x128.encrypted provisioning - tok02 1.24.10_1553
* 1.24.10_1553 バージョンに更新するには、「ibmcloud ks worker update」を実行します。 更新する前に、必要なバージョンの変更があれば検討および実行してください: 'https://ibm.biz/upworker'
$
④ Ubuntu 18 のプールを削除
$ ibmcloud ks worker-pool rm --worker-pool iks-test1-org --cluster iks-testcluster
ワーカー・プール iks-test1-org を削除しますか? [y/N]> y
OK
$
ワーカー・プール確認
$ ibmcloud ks worker-pool ls --cluster iks-testcluster
OK
名前 ID フレーバー OS ワーカー
iks-test1 cxxxxxx2249cxxxxxx20a3f1-xxxxxxx b3c.32x128.encrypted UBUNTU_20_64 1
$
プール確認
$ ibmcloud ks worker ls --cluster iks-testcluster --worker-pool iks-test1
OK
ID パブリック IP プライベート IP フレーバー 状態 状況 ゾーン バージョン
kube-tok02-xxxx22xxxxxxxxc90b5xxxxxxxxxxxx-w4 xxx.xx.xx.xxx xxx.xx.xx.xxx b3c.32x128.encrypted normal Ready tok02 1.24.10_1553
$
ノード確認
$ ibmcloud ks worker get --cluster iks-testcluster --worker kube-tok02-xxxx22xxxxxxxxc90b5xxxxxxxxxxxx-w4
ワーカー kube-tok02-xxxx22xxxxxxxxc90b5xxxxxxxxxxxx-w4 を取得中...
OK
ID: kube-tok02-xxxx22xxxxxxxxc90b5xxxxxxxxxxxx-w4
状態: normal
状況: Ready
プライベート VLAN: xxxxxxx
パブリック VLAN: xxxxxxx
プライベート IP: xxx.xx.xx.xxx
パブリック IP: xxx.xx.xx.xxx
ハードウェア: dedicated
プール名: iks-test1
プール ID: xxxx2xxxx9c90b5xxxxxxxxxxxx
ゾーン: tok02
フレーバー: b3c.32x128.encrypted
バージョン: 1.24.10_1553
$
無事に置き変わりました。
記載は省略しましたが途中アプリケーションPodの停止なども途中で実行しています。
終了後、Podを起動して稼働に問題ないことを確認しています。
以上です。