第15章 IBM Cloud Bare Metal (Classic) のインストール
15.1. 前提条件
インストーラーによってプロビジョニングされたインストールを使用して、OpenShift Container Platform を IBM Cloud® Bare Metal (Classic) ノードにインストールできます。本書では、IBM Cloud ノードに OpenShift Container Platform をインストールする際の前提条件および手順を説明します。
Red Hat は、プロビジョニングネットワークでのみ IPMI および PXE をサポートします。Red Hat は、IBM Cloud デプロイメントで Secure Boot などの Red Hat Fish、仮想メディア、またはその他の補完テクノロジーをテストしていません。プロビジョニングネットワークが必要です。
OpenShift Container Platform のインストーラーでプロビジョニングされるインストールには、以下が必要です。
- プロビジョナーを実行するための、Red Hat Enterprise Linux CoreOS (RHCOS) 8.x がインストールされた 1 つのノード
- 3 つのコントロールプレーンノード
- 1 つのルーティング可能なネットワーク
- 1 つのプロビジョニングネットワーク
IBM Cloud Bare Metal (Classic) に、インストーラーでプロビジョニングされる OpenShift Container Platform のインストールを開始する前に、以下の前提条件および要件に対応します。
15.1.1. IBM Cloud Bare Metal (Classic) インフラストラクチャーのセットアップ
OpenShift Container Platform クラスターを IBM Cloud® Bare Metal (Classic) にデプロイするには、最初に IBM Cloud ノードをプロビジョニングする必要があります。
Red Hat は、provisioning
ネットワークでのみ IPMI および PXE をサポートします。Red Hat は、IBM Cloud デプロイメントで Secure Boot などの Red Hat Fish、仮想メディア、またはその他の補完テクノロジーをテストしていません。provisioning
ネットワークが必要です。
IBM Cloud API を使用して IBM Cloud ノードをカスタマイズできます。IBM Cloud ノードを作成する場合は、以下の要件を考慮する必要があります。
クラスターごとにデータセンターを 1 つ使用します。
OpenShift Container Platform クラスターのすべてのノードは、同じ IBM Cloud データセンターで実行する必要があります。
パブリックおよびプライベート VLAN を作成します。
1 つのパブリック VLAN と単一のプライベート VLAN を持つすべてのノードを作成します。
サブネットに十分な IP アドレスがあることを確認します。
IBM Cloud パブリック VLAN サブネットは、デフォルトで /28
接頭辞を使用し、16 個の IP アドレスを提供します。これは、3 つのコントロールプレーンノード、4 つのワーカーノード、および baremetal
ネットワーク上 2 つの IP アドレス (API VIP および Ingress VIP) で設定されるクラスターには十分です。大規模なクラスターの場合は、接頭辞が小さい可能性があります。
IBM Cloud private VLAN サブネットは、デフォルトで /26
接頭辞を使用し、64 個の IP アドレスを提供します。IIBM Cloud Bare Metal (Classic) はプライベートネットワーク IP アドレスを使用して、各ノードの Baseboard Management Controller (BMC) にアクセスします。OpenShift Container Platform は、provisioning
ネットワークの追加サブネットを作成します。プライベート VLAN を使用した provisioning
ネットワークのサブネットのルートに対するネットワークトラフィック。大規模なクラスターの場合は、接頭辞が小さい可能性があります。
IP アドレス | 接頭辞 |
---|---|
32 |
|
64 |
|
128 |
|
256 |
|
NIC の設定
OpenShift Container Platform は、2 つのネットワークを使用してデプロイします。
-
provisioning
:provisioning
ネットワークは OpenShift Container Platform クラスターの一部である基礎となるオペレーティングシステムを各ノードにプロビジョニングするために使用されるルーティング不可能なネットワークです。 -
baremetal
:baremetal
ネットワークはルーティング可能なネットワークです。任意の NIC 順序を使用してbaremetal
ネットワークと対話することができます。ただし、provisioning
ネットワーク用のprovisioningNetworkInterface
設定で指定される NIC ではなく、ノードのbootMACAddress
設定に関連する NIC であることが条件となります。
クラスターノードには 3 つ以上の NIC を追加できますが、インストールプロセスでは最初の 2 つの NIC のみに焦点が当てられます。以下に例を示します。
NIC | ネットワーク | VLAN |
---|---|---|
NIC1 |
| <provisioning_vlan> |
NIC2 |
| <baremetal_vlan> |
上記の例では、すべてのコントロールプレーンおよびワーカーノードの NIC1 は、OpenShift Container Platform クラスターのインストールにのみ使用されるルーティング不可能なネットワーク (provisioning
) に接続します。すべてのコントロールプレーンおよびワーカーノードの NIC2 は、ルーティング可能な baremetal
ネットワークに接続されます。
PXE | ブート順序 |
---|---|
NIC1 PXE 対応の | 1 |
NIC2 | 2 |
PXE が provisioning
ネットワークに使用する NIC で有効になっており、他のすべての NIC で無効になっていることを確認します。
正規名の設定
クライアントは、baremetal
ネットワークで OpenShift Container Platform クラスターにアクセスします。正規名の拡張がクラスター名である IBM Cloud サブドメインまたはサブゾーンを設定します。
<cluster_name>.<domain>
以下に例を示します。
test-cluster.example.com
DNS エントリーの作成
以下について、パブリックサブネットで未使用の IP アドレスを解決する DNS A
レコードエントリーを作成する必要があります。
使用法 | ホスト名 | IP |
---|---|---|
API | api.<cluster_name>.<domain> | <ip> |
Ingress LB (アプリケーション) | *.apps.<cluster_name>.<domain> | <ip> |
コントロールプレーンおよびワーカーノードは、プロビジョニング後にすでに DNS エントリーを持っています。
以下の表は、完全修飾ドメイン名の例を示しています。API および Nameserver アドレスは、正式名の拡張子で始まります。コントロールプレーンおよびワーカーノードのホスト名は例であるため、任意のホストの命名規則を使用することができます。
使用法 | ホスト名 | IP |
---|---|---|
API | api.<cluster_name>.<domain> | <ip> |
Ingress LB (アプリケーション) | *.apps.<cluster_name>.<domain> | <ip> |
プロビジョナーノード | provisioner.<cluster_name>.<domain> | <ip> |
Master-0 | openshift-master-0.<cluster_name>.<domain> | <ip> |
Master-1 | openshift-master-1.<cluster_name>.<domain> | <ip> |
Master-2 | openshift-master-2.<cluster_name>.<domain> | <ip> |
Worker-0 | openshift-worker-0.<cluster_name>.<domain> | <ip> |
Worker-1 | openshift-worker-1.<cluster_name>.<domain> | <ip> |
Worker-n | openshift-worker-n.<cluster_name>.<domain> | <ip> |
OpenShift Container Platform には、クラスターメンバーシップ情報を使用して A
レコードを生成する機能が含まれます。これにより、ノード名が IP アドレスに解決されます。ノードが API に登録されると、クラスターは CoreDNS-mDNS を使用せずにこれらのノード情報を分散できます。これにより、マルチキャスト DNS に関連付けられたネットワークトラフィックがなくなります。
IBM Cloud ノードのプロビジョニング後に、CoreDNS を削除するとローカルエントリーが非表示になるので、api.<cluster_name>.<domain>
ドメイン名の DNS エントリーを作成する必要があります。外部 DNS サーバーで api.<cluster_name>.<domain>
ドメイン名の DNS レコードの作成に失敗すると、ワーカーノードがクラスターに参加できなくなります。
ネットワークタイムプロトコル (NTP)
クラスター内の各 OpenShift Container Platform ノードは NTP サーバーにアクセスできる必要があります。OpenShift Container Platform ノードは NTP を使用してクロックを同期します。たとえば、クラスターノードは、検証を必要とする SSL 証明書を使用します。これは、ノード間の日付と時刻が同期していない場合に失敗する可能性があります。
各クラスターノードの BIOS 設定で一貫性のあるクロックの日付と時刻の形式を定義してください。そうしないと、インストールが失敗する可能性があります。
DHCP サーバーの設定
IBM Cloud Bare Metal (Classic) は、パブリックまたはプライベートの VLAN で DHCP を実行しません。IBM Cloud ノードのプロビジョニング後に、OpenShift Container Platform の baremetal
ネットワークに対応するパブリック VLAN の DHCP サーバーを設定する必要があります。
各ノードに割り当てられる IP アドレスは、IBM Cloud Bare Metal (Classic) プロビジョニングシステムによって割り当てられる IP アドレスに一致する必要はありません。
詳細は、Configuring the public subnet セクションを参照してください。
BMC アクセス権限の確認
ダッシュボードの各ノードの Remote management ページには、ノードのインテリジェントなプラットフォーム管理インターフェイス (IPMI) 認証情報が含まれます。デフォルトの IPMI 権限により、ユーザーが特定のブートターゲットの変更を阻止します。Ironic が変更を加えることができるように、特権レベルを OPERATOR
に変更する必要があります。
install-config.yaml
ファイルで、各 BMC の設定に使用される URL に privilegelevel
パラメーターを追加します。詳細は、Configuring the install-config.yaml file セクションを参照してください。以下に例を示します。
ipmi://<IP>:<port>?privilegelevel=OPERATOR
または、IBM Cloud サポートに連絡し、各ノードの ADMINISTRATOR
に対する IPMI 特権を増やすように要求します。
ベアメタルサーバーの作成
Create resource
または、ibmcloud
CLI ユーティリティーを使用してベアメタルサーバーを作成できます。以下に例を示します。
$ ibmcloud sl hardware create --hostname <SERVERNAME> \ --domain <DOMAIN> \ --size <SIZE> \ --os <OS-TYPE> \ --datacenter <DC-NAME> \ --port-speed <SPEED> \ --billing <BILLING>
IBM Cloud CLI のインストールに関する詳細は、Installing the stand-alone IBM Cloud CLI を参照してください。
IBM Cloud Server が利用可能な状態になるまで 3-5 時間かかる場合があります。