現時点で日本では Red Hat と年間契約しないと使えない OSD(OpenShift Dedicated) on GCP がどういうものか Trial を使って記録に残しておきます。
現時点で GCP 上で使用できる OpenShift の Managed Service は、OSD(OpenShift Dedicated) だけです。
CCS (Customer Cloud Subscription)であれば、60日間のトライアルができます。
・CCS = ユーザーが既に持っている GCP Account を使う方法
・non-CCS = Red Hat が持ってる GCP Account を使う方法。GCPのインフラも Red Hat経由で購入するので、契約がRed Hat に一本化される。
Trial は CCS なので無償になるのは、OpenShift の Subscription の部分だけで、GCP のインフラの費用は自分持ちになります。
2024/08/16 追記:
現在では、Red Hat と年間契約を結ぶタイプの他に、Pay As You Go (使用した期間だけ課金される)型式の OSD も Google Cloud Marketplace で購入可能になっています。Pay As You Go タイプの購入自体は、console.redhat.com 経由で行われ、このドキュメントで書かれている Billing Model の選択時に Google Cloud の Marketplace を選択するだけで、手順は同じです。
1. Billing Model を選択
console.redhat.com の OpenShift Cluster の作成画面より OSD の Trial を選択して Cluster を作成します。
Trial なので「Free Trial」しか選択できません。
2. Cluster Settings
AWS の OSD なのか GCP の OSD なのかを選択します。
下のボックスに「Service account JSON」を入力する必要があります。G oogle Cloud の Console 側に行って作成します。
3. GCP側でサービス・アカウントを作成する。
Project を作成した後、サービス・アカウントを作成します。サービス・アカウントの要件は、ドキュメントにあります。
サービス・アカウント名は「osd-ccs-admin」である必要があります。
サービス・アカウントにドキュメントに記載されているロールを付ける。ロールがたくさんあるので検索を使って上手く見つけます。地味に大変な作業です。
できたら、鍵をJSONで作成します。「操作」->「鍵を管理」->「鍵を追加」から新規の鍵が作成できます。
4. GCP の Project の API を有効にする
ドキュメントの Required customer procedureにある APIを有効にしておきます。
ドキュメントに貼られているリンクをクリックして、Project 名を確認しながら有効になっていなければ、一つ一つ有効にしていきます。
5. OCM の画面に鍵を貼り付ける/ Worker Node のサイズと本数を選ぶ
GCPの画面で先ほど作ったサービス・アカウントのJSONを貼り付けます。
バージョンや Region を選択します。1週間前にGAされた 4.13が既に選べるようになっていました。また、Single AZ 構成にするのか、Multi AZ 構成にするのかも、ここで選択します。
Compute Node のサイズと数を選びます。
Compute Node の数は、AZ毎の数を指定します。0 が指定できるようになっていますが、ドキュメントによると、Single AZ の時は最低 2本、Multi AZ の時は 3本が必要とあります。
OSD on GCP では、インストール時に Controlplane Node や Infra Node のサイズや本数をユーザーが選択する事はありません。クラスター作成時に決まったサイズのインスタンスが必要本数デプロイされるようになっています。
クラスター作成時に自動でデプロイされる Controlplane Node と Infra Node のインスタンスサイズについては、こちらに情報があります。また、OSD が運用フェーズ (Day2 Operation)に入ると、これらのインスタンスサイズや本数は、負荷を見ながら SRE によって調整される事があります。
選択できる Compute Node のリスト。 custom-xxxxx と付いています。
6. Network 周りの設定
Public か Private か選べるようになってます。Private にしてしまうと、作成したクラスターにインターネットからアクセスできなくなります。既存のVPCへのインストールも選択できます。
7. Cluster 更新の設定
クラスターのアップデートを毎回手動でスケジュールするか、z-stream は新しいのが出た時に自動で適用するかが選べます。
8. 構成のレビューと作成
完成まで待ちます。30-40分程かかります。よく見ると画面の上の方にこのトライアルのクラスターは2ヶ月で削除されると書いています。
これで完成です。
この後も Identity Provider 等の作成もあるが、とりあえずここまで確認できたのでよしとします。時間があったら手順を追記する事にします。
9. Identity Provider の追加
Identity Provider を追加してくださいと表示が出ているので、リンクをクリック。
テストで自分だけが管理者と使用できれば良いので htpasswd
を選択します。
※htpasswd は ROSA/OSD の仕様では、self-managed の OpenShift と違って一人しかユーザーが持てないので管理用途が想定されています。ドキュメントにも記載があるように一般ユーザー用途ではない。
userid / password はデフォルトを使います。自分で指定もできます。
作成した User に dedicated-admin 権限を追加しておきます。
「Open console」からログインできるか確認します。(この画面が出るまで数分かかると思います)
10. [追加構成] Machine pool の追加
10.1 Single AZ の OSD の場合
10.2 Multi AZ の OSD の場合
Machinepool が3つのZone を跨ぐように構成されているので、以下のように一つのZoneに設置する Compute Node の本数を指定するようです。そのため、Machinepool 内の Compute Node は必ず3の倍数単位になるようです。(OpenShift 4.16.6 で確認)
Multi AZ クラスターの、この3 の倍数単位の設定は Cluster AutoScaler を有効化した machinepool 内の最小/最大 Node 数を設定する時にも適用されるようです。
11. [追加構成] Additional application router の追加
OCM を見ていると、ROSA では既に封印された Additonal router (アプリケーション用の追加の ingress) が追加できそうな事に気付来ました。"Edit cluster ingress" をクリック。