Red Hat OpenShift on IBM Cloudが新しい柔軟な価格体系になったので変更してみた
はじめに
去る2020/11にIBM Cloudが提供するマネージドOpenShiftサービスであるRed Hat OpenShift on IBM Cloudの料金体系が改定されました。この料金改定により、料金が安くなるとともに時間単位の課金が導入されました。詳細は次のサイトをご参照ください。(参考記事: Red Hat OpenShift on IBM Cloud の新しい柔軟な価格体系について)
私の手元にあるRed Hat OpenShift on IBM Cloudの環境は料金改定発表前に構築したものであるため、そのままの状態では古い料金体系で課金されていました。年末を迎えるに当たり、大掃除の一貫として無駄な出費を抑えるべく手元の環境を新料金体系に対応した記録を記載します。
なお、本記事は執筆時点(2020/12/24)の情報である点ご注意ください。
記事内容を3行で書くと
Red Hat OpenShift on IBM Cloudの料金を抑えるため
ワーカー・プールを入れ替えて
新料金体系に対応させた
どれだけお得なのか?
こちらの情報はあくまで本記事執筆時点の情報であり、利用環境・条件により異なる可能性がある点、ご注意ください。
前提環境
利用サービス:Red Hat OpenShift on IBM Cloud
フレーバー:bx2.4x16 - 4 vCPU 16GB RAM
ワーカー・プール:ゾーン毎に1ノードの計3ノード構成
リージョン:ダラス(us-south)
ゾーン:3 zone (us-south-1, us-south-2, us-south-3)
ネットワーク:VPC Gen2
見積もり画面比較
こちらのサイトから環境構築時に見積もりをおこなった結果(キャプチャ)を記載します。
- 2020/10/05時点の見積もり情報
- 2020/12/23時点の見積もり情報
だいぶお安くなっています。
やったこと
前述のリンク先の記載されているように、既存のクラスターは、これまでの月額料金モデルから新たな時間単位の料金モデルには自動的に移行されません。 そのため、対応方法として次の2通りの方法が紹介されています。
- 完全に新しいクラスターを作成する方法
- 同じクラスター内に2つめのワーカー・プールを作成してから、1つめのワーカー・プールを削除する方法
1.の新規クラスターを作成する方法はまあ当たり前だよねということで、今回は2.の方法を試しました。
変更前の状態
- IBM Cloud上での構成
クラスター構成
クラスターワーカーノード構成
クラスターワーカー・プール構成
- IBM Cloud CLIでの確認
せっかくなので、GUIの結果と合わせてCLIの出力結果を併記します。
クラスター構成
[user@vsi ~]$ ibmcloud oc cluster get --cluster xxxxxxxxxx
Retrieving cluster xxxxxxxxxx...
OK
Name: mycluster-us-south-1-bx2.4x16
ID: xxxxxxxxxx
State: warning
Status: Could not upload certificates to Certificate Manager instance. Ensure you have the correct IAM permissions. For more info, see http://ibm.biz/ingress-secret
Created: 2020-10-15 00:54:49 -0500 (2 months ago)
Resource Group ID: xxxxxxxxxx
Resource Group Name: xxxxxxxxxx
Pod Subnet: 172.17.0.0/18
Service Subnet: 172.21.0.0/16
Workers: 3
Worker Zones: us-south-1, us-south-2, us-south-3
Ingress Subdomain: xxxxxxxxxx.us-south.containers.appdomain.cloud
Ingress Secret: xxxxxxxxxx
Ingress Status: warning
Ingress Message: Could not upload certificates to Certificate Manager instance. Ensure you have the correct IAM permissions. For more info, see http://ibm.biz/ingress-secret
Creator: -
Public Service Endpoint URL: https://xxxxxxxxxx.ibm.com:30427
Private Service Endpoint URL: https://xxxxxxxxxx.ibm.com:30427
Pull Secrets: enabled in the default namespace
VPCs: xxxxxxxxxx
Master
Status: Ready (6 days ago)
State: deployed
Health: normal
Version: 4.5.18_1523_openshift
Location: Dallas
URL: https://xxxxxxxxxx.ibm.com:30427
[user@vsi ~]$
※警告が出ているが、ここでは一旦無視します。
クラスターワーカーノード構成
[user@vsi ~]$ ibmcloud oc worker ls --cluster xxxxxxxxxx
OK
ID Primary IP Flavor State Status Zone Version
kube-xxxxxxxxxx-myclusterus-default-0000047e 10.240.0.5 bx2.4x16 normal Ready us-south-1 4.5.13_1515_openshift*
kube-xxxxxxxxxx-myclusterus-default-0000068c 10.240.136.6 bx2.4x16 normal Ready us-south-3 4.5.13_1515_openshift*
kube-xxxxxxxxxx-myclusterus-default-0000073f 10.240.64.6 bx2.4x16 normal Ready us-south-2 4.5.13_1515_openshift*
* To update to 4.5.22_1524_openshift version, run 'ibmcloud ks worker update'. Review and make any required version changes before you update: 'https://ibm.biz/upworker'
※OpenShiftのバージョンアップを促されていますが、ここでは一旦無視します。この点後で注意ポイントとなります。
クラスターワーカー・プール構成
[user@vsi ~]$ ibmcloud oc worker-pool ls --cluster xxxxxxxxxx
OK
Name ID Flavor Workers
default xxxxxxxxxx bx2.4x16 3
変更作業
変更作業はこちらの手順を参考にして、GUIで実施します。リンク先はCLIの手順となっていますので、流れだけ参考にしています。
手順は以下の通りです。
- ワーカー・プールの追加
- ワーカー・プール追加後の確認
- 既存のワーカー・プール削除
では、手順を紹介します。
1 ワーカー・プールの追加
今回は既存環境と同じ構成でワーカーノードを入れ替えるだけなので、既存ワーカー・プールと同じフレーバー、ゾーン構成を指定します。
同時にワーカーノードの状態を見るとプロビジョンされていることが確認できます。(下の3ノードが追加したノード)
※どうも、追加されたノードはバージョンが新しく4.5.22_1524となっていました。こちらどうせなら同じバージョンで構成したい気持ちですが、少なくともGUIでは指定箇所は見当たりませんでした。特に本番稼働環境などで適用する場合は注意が必要と考えます。今回はチケット等での確認は行っていません。どなたか情報お持ちの方がいればコメントいただければと思います。
2 ワーカー・プール追加後の確認
ワーカー・プール追加後の状態を確認しておきます。こちらはCLIで実施しました。
クラスター構成
[user@vsi ~]$ ibmcloud oc cluster get --cluster xxxxxxxxxx
Retrieving cluster xxxxxxxxxx...
OK
Name: mycluster-us-south-1-bx2.4x16
ID: xxxxxxxxxx
State: warning
Status: Some Workers Not Normal
Created: 2020-10-15 00:54:49 -0500 (2 months ago)
Resource Group ID: xxxxxxxxxx
Resource Group Name: xxxxxxxxxx
Pod Subnet: 172.17.0.0/18
Service Subnet: 172.21.0.0/16
Workers: 6
Worker Zones: us-south-1, us-south-2, us-south-3
Ingress Subdomain: xxxxxxxxxx
Ingress Secret: xxxxxxxxxx
Ingress Status: warning
Ingress Message: Could not upload certificates to Certificate Manager instance. Ensure you have the correct IAM permissions. For more info, see http://ibm.biz/ingress-secret
Creator: -
Public Service Endpoint URL: https://xxxxxxxxxx.ibm.com:30427
Private Service Endpoint URL: https://xxxxxxxxxx.ibm.com:30427
Pull Secrets: enabled in the default namespace
VPCs: xxxxxxxxxx
Master
Status: Ready (6 days ago)
State: deployed
Health: normal
Version: 4.5.18_1523_openshift
Location: Dallas
URL: https://xxxxxxxxxx.ibm.com:30427
バージョン表記は古いバージョンのまま。
ノードの状態
[user@vsi ~]$ ibmcloud oc worker ls --cluster xxxxxxxxxx
OK
ID Primary IP Flavor State Status Zone Version
kube-xxxxxxxxxx-myclusterus-default-0000047e 10.240.0.5 bx2.4x16 normal Ready us-south-1 4.5.13_1515_openshift*
kube-xxxxxxxxxx-myclusterus-default-0000068c 10.240.136.6 bx2.4x16 normal Ready us-south-3 4.5.13_1515_openshift*
kube-xxxxxxxxxx-myclusterus-default-0000073f 10.240.64.6 bx2.4x16 normal Ready us-south-2 4.5.13_1515_openshift*
kube-xxxxxxxxxx-myclusterus-newpric-000008cf 10.240.64.4 bx2.4x16 normal Ready us-south-2 4.5.22_1524_openshift
kube-xxxxxxxxxx-myclusterus-newpric-000009b6 10.240.136.4 bx2.4x16 normal Ready us-south-3 4.5.22_1524_openshift
kube-xxxxxxxxxx-myclusterus-newpric-00000a62 10.240.0.4 bx2.4x16 normal Ready us-south-1 4.5.22_1524_openshift
* To update to 4.5.22_1524_openshift version, run 'ibmcloud ks worker update'. Review and make any required version changes before you update: 'https://ibm.biz/upworker'
ocコマンドでも確認してみる。
[user@vsi ~]$ oc get node
NAME STATUS ROLES AGE VERSION
10.240.0.4 Ready master,worker 134m v1.18.3+fa69cae
10.240.0.5 Ready master,worker 69d v1.18.3+47c0e71
10.240.136.4 Ready master,worker 129m v1.18.3+fa69cae
10.240.136.6 Ready master,worker 69d v1.18.3+47c0e71
10.240.64.4 Ready master,worker 133m v1.18.3+fa69cae
10.240.64.6 Ready master,worker 68d v1.18.3+47c0e71
[user@vsi ~]$
[user@vsi ~]$ oc get pod -n logtest
NAME READY STATUS RESTARTS AGE
fluentd-6q2zj 1/1 Running 0 8m19s
fluentd-6w5zp 1/1 Running 0 20d
fluentd-cj8dc 1/1 Running 0 20d
fluentd-js4kx 1/1 Running 0 20d
fluentd-p4d58 1/1 Running 0 4m47s
fluentd-vc4ww 1/1 Running 0 9m12s
→Daemonsetで構成しているFluentdがすべてのノードに配置されています。
3 既存のワーカー・プール削除
新しくワーカー・プールを作成し、ノードがクラスターに追加されたことが確認できたので、既存のワーカー・プールを削除します。こちらもGUIで実施します。
既存のワーカー・プール(defaultのほう)を選択し、「削除」をクリックします。
ワーカーノード一覧画面から削除されていることが確認できます。
(参考)この時、削除対象ノードはSchedulingDisabledのステータスとなります。
[user@vsi ~]$ oc get node
NAME STATUS ROLES AGE VERSION
10.240.0.4 Ready master,worker 140m v1.18.3+fa69cae
10.240.0.5 Ready,SchedulingDisabled master,worker 69d v1.18.3+47c0e71
10.240.136.4 Ready master,worker 135m v1.18.3+fa69cae
10.240.136.6 NotReady,SchedulingDisabled master,worker 69d v1.18.3+47c0e71
10.240.64.4 Ready master,worker 139m v1.18.3+fa69cae
10.240.64.6 Ready,SchedulingDisabled master,worker 68d v1.18.3+47c0e71
ワーカー・プール一覧からも削除されていることが確認できます。
4 最終確認
クラスター構成
※やはりバージョンは古い情報のままでした。念の為アクション>バージョンの更新をクリックしてみましたが、下記のとおり適用可能なバージョンは無いとのメッセージが表示されました。
以降CLIでの確認結果となります。
クラスター構成
[user@vsi ~]$ ibmcloud oc cluster get --cluster xxxxxxxxxx
Retrieving cluster xxxxxxxxxx...
OK
Name: mycluster-us-south-1-bx2.4x16
ID: xxxxxxxxxx
State: warning
Status: Could not upload certificates to Certificate Manager instance. Ensure you have the correct IAM permissions. For more info, see http://ibm.biz/ingress-secret
Created: 2020-10-15 00:54:49 -0500 (2 months ago)
Resource Group ID: xxxxxxxxxx
Resource Group Name: xxxxxxxxxx
Pod Subnet: 172.17.0.0/18
Service Subnet: 172.21.0.0/16
Workers: 3
Worker Zones: us-south-1, us-south-2, us-south-3
Ingress Subdomain: xxxxxxxxxx
Ingress Secret: xxxxxxxxxx
Ingress Status: warning
Ingress Message: Could not upload certificates to Certificate Manager instance. Ensure you have the correct IAM permissions. For more info, see http://ibm.biz/ingress-secret
Creator: -
Public Service Endpoint URL: https://xxxxxxxxxx.ibm.com:30427
Private Service Endpoint URL: https://xxxxxxxxxx.ibm.com:30427
Pull Secrets: enabled in the default namespace
VPCs: xxxxxxxxxx
Master
Status: Ready (6 days ago)
State: deployed
Health: normal
Version: 4.5.18_1523_openshift
Location: Dallas
URL: https://xxxxxxxxxx.ibm.com:30427
クラスターワーカーノード構成
[user@vsi ~]$ ibmcloud oc worker ls --cluster xxxxxxxxxx
OK
ID Primary IP Flavor State Status Zone Version
kube-xxxxxxxxxx-myclusterus-newpric-000008cf 10.240.64.4 bx2.4x16 normal Ready us-south-2 4.5.22_1524_openshift
kube-xxxxxxxxxx-myclusterus-newpric-000009b6 10.240.136.4 bx2.4x16 normal Ready us-south-3 4.5.22_1524_openshift
kube-xxxxxxxxxx-myclusterus-newpric-00000a62 10.240.0.4 bx2.4x16 normal Ready us-south-1 4.5.22_1524_openshift
クラスターワーカー・プール構成
[user@vsi ~]$ ibmcloud oc worker-pool ls --cluster xxxxxxxxxx
OK
Name ID Flavor Workers
newprice_workerpool xxxxxxxxxx bx2.4x16 3
以上でワーカー・プールの入れ替え作業は完了です。
請求情報新旧比較
新規ワーカー・プールを作成した直後に請求情報を確認してみました。
請求および使用量(IBM Cloudのマネジメントコンソール画面から、請求および使用量>使用量>サービス・タイプ>Kubernetes Service>プランの表示>該当リージョンのクラスター>詳細を表示>当該リージョンのインスタンス>インスタンスの詳細の表示)から確認します。
新規追加したワーカーノードのインスタンス情報
→新規プール作成後、インスタンスの詳細表示で「OCP_VCPU_HOURS」の項目ができています。これで新料金体系の課金となっていることが確認できます。
これでスッキリと身軽になった状態で新年を迎えることができます。
Author And Source
この問題について(Red Hat OpenShift on IBM Cloudが新しい柔軟な価格体系になったので変更してみた), 我々は、より多くの情報をここで見つけました https://qiita.com/rjegg/items/3fb6ca1ac2d508d2d662著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .