Satellite クラスターの作成
Satellite
Red Hat® OpenShift® on IBM Cloud® クラスターを IBM Cloud Satellite® ロケーションで作成し、そのロケーションに追加したお客様独自のインフラストラクチャーのホストを、クラスターのワーカー・ノードとして使用することができます。
前提条件
IBM Cloud Satellite でクラスターを作成するには、まずロケーションをセットアップする必要があります。
-
Satellite クラスターの制限 を確認します。
-
IAMで Administrator または Satellite cluster creatorのアクセスロールを持っていることを確認してください。 詳しくは、 IAM のプラットフォームとサービスのアクセス役割 を参照してください。
-
IBM Cloud Satellite ロケーションを作成する準備をします。 以下のいずれかのオプションを選択します。 Schematics を使用した Red Hat CoreOS 対応ロケーションの自動作成は、現在はサポートされていないので注意してください。 Red Hat CoreOS 対応ロケーションを作成する場合は、ロケーションの手動作成を参照してください。
- 自分のロケーションのホストを自動的にプロビジョンできます。 このオプションでは、クラウド・プロバイダー資格情報を使用してカスタム役割またはサービス ID を作成します。 このサービス ID は、クラウド・プロバイダーに仮想マシンを自動的にプロビジョンするために使用されます。 VM がプロビジョンされてロケーションに接続されたら、それらの VM を IBM Cloud Satellite コントロール・プレーンまたは使用するクラウド・サービスに割り当てることができます。 開始するには、Schematics テンプレートを使用したロケーション・セットアップの自動化を参照してください。
- オンプレミス・データ・センターまたはパブリッククラウドのいずれかでホストを手動でプロビジョンできます。 ロケーションのホストを手動でプロビジョンすることを選択した場合は、ホストが最小要件を満たしていること、および 必要なアウトバウンド・ネットワーク・アクセスを許可していることを確認してください。
-
ホストをロケーションに接続し、ロケーション・コントロール・プレーンをセットアップします。
-
Red Hat OpenShift on IBM Cloud クラスターのワーカー・ノードとして使用するには、少なくとも 3 つの追加ホストをロケーションに接続します。
-
クラスターを作成する前に、選択したロケーションが正常であり、 「正常」 状態であることを確認してください。
コンソールからの Satellite クラスターの作成
IBM Cloud のコンソールを使用して、Red Hat OpenShift インフラストラクチャーで Satellite クラスターを作成できます。
コンソールから 「作成」 をクリックします。 次に、以下のセクションを確認してクラスターをセットアップします。
- インフラストラクチャー
- 「Satellite」を選択します。
- ロケーション
- 「リソース・グループ」 と、クラスターを作成する Satellite ロケーション を選択します。
RHCOS が有効なロケーションでは、ワーカー・プールをクラスターに追加するときに、RHCOS ホストまたは RHEL ホストを使用できます。 ワーカー・プールに割り当てる前に、使用するオペレーティング・システムにホストを接続していることを確認してください。
- インフラストラクチャー・トポロジー
-
- 高可用性: ほとんどのユース・ケースでは、このオプションを選択します。 高可用性のために少なくとも 3 つのワーカー・ノードを作成します。
-
- 単一レプリカ: 単一ノード・クラスターは特定の状況でのみ推奨され、同じワークロードを実行する複数の冗長ロケーションを持つリソース制約エッジ・ロケーションでのみ使用する必要があります。 Red Hat OpenShift on IBM Cloud クラスターを Satellite インフラストラクチャー上で実行している場合、リソースが限られたリモートのエッジ・ロケーション (モバイル・タワー内の小さなデータ・センターなど) では、データ・プレーンを実行している可能性があります。 標準的な Red Hat OpenShift on IBM Cloud クラスターでは、高可用性のために少なくとも 3 つのワーカー・ノードが必要ですが、単一のワーカー・ノードを実行するクラスターを作成することもできます。 単一ノード・クラスターにはいくつかの制限があり、特定の状況でのみ使用してください。 単一ノード・クラスターには高可用性がありません。 単一ノード・クラスターをプロビジョニングすることで、ワークロードでダウン時間や中断が発生する可能性が高いことを受け入れます。 単一ノード・クラスターは、 CoreOS が有効になっている Satellite ロケーションで実行する必要があります。 ロケーション上のコントロール・プレーン・ホストと、単一ノード・クラスターに割り当てるホストは、RHEL 8 オペレーティング・システムまたは RHCOS オペレーティング・システムのいずれかを実行する必要があります。 バージョン 4.11 以降を実行する Satellite クラスターでのみサポートされます。 詳しくは、「 制限 」セクションを参照してください。
- デフォルトのワーカー・プール
- デフォルトのワーカー・プールの詳細を構成します。
-
- ホストのオペレーティングシステム :クラスタのデフォルトのワーカープールで使用するホストのオペレーティングシステムを選択します。 Red Hat CoreOS 対応のロケーションでは、RHCOS ホストまたは RHEL ホストのいずれかを使用できます。
-
- Satellite が、基盤となるインフラストラクチャ プロバイダーのゾーンを表す各ゾーンにホストを均等に割り当てるために使用するワーカー プール ゾーン。 一般には、高可用性を確保するために、3 つのゾーンにまたがるワーカー・プールを作成します。
-
- vCPU、 メモリ(GB)、およびゾーンごとのワーカーノード数 :ワーカープールの作成に使用するリソースを指定してください。 Satellite は、リクエストに応えるために、利用可能なホストをワーカープールに自動的に割り当てることができます。 一般には、1 ゾーンあたりのワーカー・ノード数として少なくとも 1 を選択します (クラスターの合計ワーカー・ノード数 3 に相当)。
- OpenShift バージョン
- クラスターのバージョンを選択します。 デフォルトのバージョンを選択するか、別の サポートされるバージョン を指定することができます。
- OpenShift Container Platform (OCP) ライセンス
- Satellite のロケーション内のすべてのユーザークラスターには、 OpenShift Container Platform がインストールされており、これには Red Hat からのライセンス料が発生します。 ただし、オンプレミス環境のインフラストラクチャを使用して作成されたクラスター、または IBM Cloud Paksを使用してオンプレミスで作成されたクラスターについては、独自の OpenShift Container Platform ライセンスを持ち込むことができます。 サービス・クラスターは、すべての IBM Cloud サービスの基礎となるプラットフォームであり、Key Protect や IBM Cloud Object Storage などのサービスによって作成され、ライセンスは必要ありません。
-
- Cloud Pak のライセンスを適用する: Cloud Pak のライセンスをデフォルトのワーカー・プールに適用するには、このオプションを選択します。 Cloud Pak のライセンスは、ワーカー・プール・レベルで適用されます。 使用権を超えないようにしてください。 他のクラウド・プロバイダーや他の環境でも OpenShift Container Platform の使用権を使用できることを忘れないでください。 後で請求に関する問題が起きないように、使用権のあるものだけを使用していることを確認してください。 例えば、CPU 4 個とメモリー 16 GB のワーカー・ノード 2 台に対する OCP ライセンスの使用権がある場合に、CPU 4 個とメモリー 16 GB のワーカー・ノード 2 台からなるワーカー・プールを作成したとします。 ライセンス全体を使用したため、他のワーカー・プール、クラウド・プロバイダー、または環境に同じライセンスを使用することはできません。
-
- ライセンスの購入: デフォルトのワーカー・プール用に新しい OpenShift Container Platform ライセンスを購入します。 このオプションは、ワーカー・プール・レベルで適用されます。 追加のワーカー・プールを作成する場合は、追加のライセンスを購入する必要があります。
-
- Red Hat OpenShift Cluster Manager を使用した管理: Red Hat® アカウントのプル・シークレットをファイルとして指定するか、未加工の JSON 形式で指定することで、このクラスター内のワーカー・ノードの既存の OCP 資格を指定します。 また、クラスターはこのプル・シークレットを使用して、独自の Red Hat アカウントから Red Hat OpenShift イメージをダウンロードします。 このオプションは、クラスター・レベルで適用されます。
- Satellite Config
- Satellite Config のクラスター管理アクセスを有効にするかどうかを決定します。 Satellite Config アクセス権限を付与しない場合、後で Satellite Config 機能を使用してクラスターの Kubernetes リソースを表示したりデプロイしたりすることはできません。 後からアクセス権限の有効化が必要になった場合には、Satellite Config にカスタム RBAC 役割を作成します。
- 暗号化
- 鍵管理サービス (KMS) を使用したデータ暗号化を有効にして、クラスター内のシークレットやその他の機密情報を暗号化します。 後で KMS を有効にする こともできます。
- Ingress シークレット管理
- IBM Cloud Secrets Manager は、クラスター内の Ingress サブドメイン証明書およびその他のシークレットを一元的に管理します。 クラスター作成プロセス中に、 Secrets Manager インスタンスをクラスターに登録することを選択できます。 クラスター内のシークレットへのアクセスを制御するために使用できるシークレット・グループを指定することもできます。 これらのオプションは両方とも、クラスターの作成後に構成または変更することができます。
- クラスターの詳細
- クラスターに名前を付け、クラウド・リソースに関連付ける IBM Cloud タグ を入力します。 クラスター名は先頭が文字でなければならず、文字、数字、およびハイフン (-) を使用できます。35 文字以内でなければなりません。
Satellite ロケーションに使用可能な一致するホストがない場合でも、クラスターは作成されますが、 警告 状態になります。 ホスト を Satellite ロケーションに接続します。これにより、ワーカー・プールにワーカー・ノードとしてホストを割り当てることができます。 ホストが自動的に割り当てられなかった場合に、手動で Satellite ホストをクラスターに割り当てることもできます。 デフォルトのワーカー・プールの各ゾーンに、ホストがワーカー・ノードとして割り当てられるようにしてください。
ロケーションのホストにプライベート・ネットワーク接続しかない場合や、Amazon Web Services、Google Cloud Platform、または Microsoft Azure のホストを使用する場合は、VPN アクセスなどを使用してホストのプライベート・ネットワークに接続してから、クラスターに接続して Red Hat OpenShift Web コンソールにアクセスする必要があります。 あるいは、ホストにパブリック・ネットワーク接続がある場合は、ホストのパブリック IP アドレスを使用するようにクラスターとロケーションの DNS レコードを変更することで、クラスターへのアクセスをテストできます。
クラスターが 「正常」 状態になるまで待ってから、 クラスターにアクセス して Red Hat OpenShift Web コンソールにアクセスするか、CLI から oc コマンドおよび kubectl コマンドを実行します。 Satellite Config
のアクセス権限を有効にした場合は、この手順を実行して許可を同期する必要があります。
CLI からの Satellite クラスターの作成
Satellite CLI を使用して、Red Hat OpenShift インフラストラクチャーで Satellite クラスターを作成できます。
始める前に、Satellite CLI プラグインをインストールしてください。
-
ロケーションが**「正常 (Normal)」状態になっていることを確認します。 Satellite コントロール・プレーンが正常に作成され、コントロール・プレーンに使用するすべてのホストが正常な状態になると、ロケーションが「正常 (Normal)」**状態になります。
ibmcloud sat location ls出力例
Retrieving locations... OK Name ID Status Ready Created Hosts (used/total) Managed From mylocation brhtfum2015a6mgqj16g normal yes 4 days ago 3 / 6 Dallas -
Satellite のロケーションに Red Hat OpenShift クラスターを作成します。 クラスターを作成すると、クラスターのマスターが Satellite コントロール・プレーンに自動的に作成されます。
- クラスタのデフォルトのワーカープールにおいて、ホストが自動的にワーカーノードとして割り当てられるようにするには、
--host-labelオプションでそれらのホストのラベルを指定し、--workersオプションでゾーンごとのワーカーノード数を指定してください。 - Satellite Config でクラスタ管理者権限を有効にするには、
--enable-admin-agentオプションを指定してください。 Satellite Config アクセス権限を付与しない場合、後で Satellite Config 機能を使用してクラスターの Kubernetes リソースを表示したりデプロイしたりすることはできません。 後からアクセス権限の有効化が必要になった場合には、Satellite Config にカスタム RBAC 役割を作成します。 - このコマンドのオプションについて詳しくは、CLI リファレンスを参照してください。
- 単一ノード・クラスターを作成するには、
--infrastructure-topologyオプションを組み込み、 CLI で Satellite クラスターを作成するときにsingle-replica値を指定します。 このオプションが含まれていない場合、クラスターはデフォルトで 3 つのワーカー・ノードの高可用性セットアップでプロビジョンされます。 - 独自の OCP ライセンスを使用する場合は、クラスターが OCP を実行できるよう、 Red Hat のプルシークレットを必ず含めてください。これには、コンソールでプルシークレットをアップロードするか、
ibmcloud oc cluster create satelliteコマンド に--pull-secretオプションを指定します。 - Cloud Pak のライセンスを適用するには、必ず
--entitlement ocp_entitledオプションを含めてください。
- クラスタのデフォルトのワーカープールにおいて、ホストが自動的にワーカーノードとして割り当てられるようにするには、
--operating-system RHEL_9_64|REDHAT_8_64|RHCOS: オプション。 クラスター内のワーカー・ノードのオペレーティング・システム。 クラスタのバージョン別に利用可能なオペレーティングシステムの一覧については 、 Red Hat OpenShift on IBM Cloud のバージョン情報 をご覧ください。 オプションが指定されていない場合、クラスター・バージョンに対応するデフォルトのオペレーティング・システムが使用されます。
`cluster create` コマンドの例。
```sh {: pre}
ibmcloud oc cluster create satellite --location LOCATION --name NAME --pull-secret SECRET --version 4.21_openshift [--enable-admin-agent] [--host-label LABEL ...] [--operating-system SYSTEM] [--pod-subnet SUBNET] [-q] [--service-subnet SUBNET] [--workers WORKERS-PER-ZONE] [--zone ZONE] [--entitlement ENTITLEMENT]
```
`RHCOS` ホストを使用し、 `--pull-secret` ライセンスを適用する `cluster create` コマンドの例。
```sh {: pre}
ibmcloud oc cluster create satellite --location LOCATION --name CLUSTER_NAME --pull-secret SECRET --version VERSION --enable-admin-agent --operating-system RHCOS
```
出力例
```sh {: screen}
Creating cluster...
OK
Cluster created with ID brkhsd220b6ktv7sjl50
```
-
クラスターが警告状態になるまで待ちます。 警告状態は、クラスター・マスターが完全にデプロイされたが、クラスター内にワーカー・ノードが検出されなかったことを示します。
ibmcloud oc cluster ls出力例
OK Name ID State Created Workers Location Version Resource Group Name Provider satcluster brkhsd220b6ktv7sjl50 warning 12 minutes ago 0 mylocation 4.5.23_1525_openshift Default satellite -
ホストがワーカー・ノードとしてクラスターに割り当てられたことを確認します。
- 自動割り当て: クラスターの作成時に
--host-labelsを指定した場合は、一致するラベルの空きホストが Satellite ロケーションに存在していれば、それらのワーカー・ノードがクラスターに自動的に割り当てられます。 使用可能で一致するホストがない場合、クラスターは引き続き作成されますが、警告 状態になります。 ホスト を Satellite ロケーションに接続します。これにより、ワーカー・プールにワーカー・ノードとしてホストを割り当てることができます。 ホストが自動的に割り当てられなかった場合に、手動で Satellite ホストをクラスターに割り当てることもできます。 - 手動割り当て: Satellite ホストをクラスターに割り当てます。 正常にブートストラップしたホストは、Red Hat OpenShift ワークロードを実行するためのクラスターのワーカー・ノードとして機能します。 一般に、クラスターのワーク・ノードとして少なくとも 3 台のホストを割り当てます。
- 自動割り当て: クラスターの作成時に
-
クラスターが**「normal」**状態になっていることを確認します。
ibmcloud oc cluster ls出力例
OK Name ID State Created Workers Location Version Resource Group Name Provider satcluster brkhsd220b6ktv7sjl50 normal 2 hours ago 3 mylocation 4.3.23_1525_openshift Default satellite -
クラスターにアクセスして
ocコマンドおよびkubectlコマンドを実行するか、Red Hat OpenShift Web コンソールにアクセスします。 Satellite Config のアクセス権限を有効にした場合は、この手順を実行して許可を同期する必要があります。
ロケーションのホストにプライベート・ネットワーク接続しかない場合や、Amazon Web Services、Google Cloud Platform、または Microsoft Azure のホストを使用する場合は、VPN アクセスなどを使用してホストのプライベート・ネットワークに接続してから、クラスターに接続して Red Hat OpenShift Web コンソールにアクセスする必要があります。 あるいは、ホストにパブリック・ネットワーク接続がある場合は、ホストのパブリック IP アドレスを使用するようにクラスターとロケーションの DNS レコードを変更することで、クラスターへのアクセスをテストできます。
次のステップ
- クラスターへのアクセス
- クラスターにログインし、ポッドが正常で実行中であることを確認します。 詳しくは、 Satelliteでの Red Hat OpenShift クラスターへのアクセス を参照してください。
- 内部イメージレジストリの設定
- デフォルトでは、Satellite クラスターでは内部レジストリーは実行されません。内部レジストリー用のバッキング・ストレージがセットアップされていないからです。 Object Storageを使用するように内部レジストリーをセットアップできます。 詳しくは、 Satellite クラスターの内部イメージ・レジストリーのセットアップ を参照してください。
- アプリの公開
- パブリック・ネットワーク、ホストのプライベート・ネットワークに接続されているリソース、または IBM Cloud のリソースからのトラフィック要求に対して、アプリを安全に公開する方法はいくつかあります。 これらの方法には、標準的な Red Hat OpenShift クラスターに用意されているサービスが含まれますが、Red Hat OpenShift 提供のインフラストラクチャーに作成された Satellite クラスターでは、それらのサービスの実装形式は異なります。 例えば、クラスター内の Red Hat OpenShift Ingress コントローラー用に作成されるロード・バランサー・サービスはありません。 アプリの公開方法のリストおよび構成手順については、Satellite クラスターのアプリの公開を参照してください。
- 永続ストレージでのアプリケーション・データの保管
- IBM Cloud インフラストラクチャー上に作成される標準の Red Hat OpenShift クラスターとは異なり、Satellite クラスターには、アプリ用の Kubernetes 永続ボリュームですぐに使用できる Kubernetes ストレージ・クラスを提供するストレージ・ドライバーはインストールされません。 しかし、独自のストレージ・ドライバーをインストールし、基礎ストレージ・デバイスにアプリのデータを保存するようにアプリをセットアップすることができます。 以下の一般的なオプションを確認してください。 詳しくは、 Understanding Satellite storage を参照してください。