第11章 IBM Cloud へのインストーラーでプロビジョニングされるクラスターのデプロイメント

11.1. 前提条件

インストーラーでプロビジョニングされるインストールを使用して、IBM Cloud® ノードに OpenShift Container Platform をインストールできます。本書では、IBM Cloud ノードに OpenShift Container Platform をインストールする際の前提条件および手順を説明します。

重要

Red Hat は、provisioning ネットワークでのみ IPMI および PXE をサポートします。Red Hat は、IBM Cloud デプロイメントで Secure Boot などの Red Hat Fish、仮想メディア、またはその他の補完テクノロジーをテストしていません。provisioning ネットワークが必要です。

OpenShift Container Platform のインストーラーでプロビジョニングされるインストールには、以下が必要です。

  • Red Hat Enterprise Linux CoreOS (RHCOS) 8.x がインストールされている 1 つのプロビジョナーノード
  • 3 つのコントロールプレーンノード
  • 1 つのルーティング可能なネットワーク
  • ノードのプロビジョニング用の 1 つのネットワーク

IBM Cloud での OpenShift Container Platform のインストーラーでプロビジョニングされるインストールを開始する前に、以下の前提条件および要件に対応します。

11.1.1. IBM Cloud Infrastructure の設定

OpenShift Container Platform クラスターを IBM Cloud® にデプロイするには、最初に 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 アドレスを提供します。IBM Cloud はプライベートネットワーク IP アドレスを使用して、各ノードの Baseboard Management Controller (BMC) にアクセスします。OpenShift Container Platform は、provisioning ネットワークの追加サブネットを作成します。プライベート VLAN を使用した provisioning ネットワークのサブネットのルートに対するネットワークトラフィック。大規模なクラスターの場合は、接頭辞が小さい可能性があります。

表11.1 接頭辞ごとの IP アドレス

IP アドレス接頭辞

32

/27

64

/26

128

/25

256

/24

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

<provisioning_vlan>

NIC2

baremetal

<baremetal_vlan>

上記の例では、すべてのコントロールプレーンおよびワーカーノードの NIC1 は、OpenShift Container Platform クラスターのインストールにのみ使用されるルーティング不可能なネットワーク (provisioning) に接続します。すべてのコントロールプレーンおよびワーカーノードの NIC2 は、ルーティング可能な baremetal ネットワークに接続されます。

PXEブート順序

NIC1 PXE 対応の provisioning ネットワーク

1

NIC2 baremetal ネットワーク

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 は、パブリックまたはプライベートの VLAN で DHCP を実行しません。IBM Cloud ノードのプロビジョニング後に、OpenShift Container Platform の baremetal ネットワークに対応するパブリック VLAN の DHCP サーバーを設定する必要があります。

注記

各ノードに割り当てられる IP アドレスは、IBM Cloud プロビジョニングシステムによって割り当てられる 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 resourceBare Metal Server に移動して、IBM Cloud ダッシュボード にベアメタルサーバーを作成します。

または、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 時間かかる場合があります。