第2章 installer-provisioned infrastructure
2.1. vSphere のインストール要件
installer-provisioned infrastructure を使用してインストールを開始する前に、vSphere 環境が次のインストール要件を満たしていることを確認してください。
2.1.1. VMware vSphere インフラストラクチャーの要件
OpenShift Container Platform クラスターは、使用するコンポーネントの要件に合わせて、以下に示す VMware vSphere インスタンスのいずれかのバージョンにインストールする必要があります。
- バージョン 7.0 Update 2 以降、または VMware Cloud Foundation 4.3 以降
- バージョン 8.0 Update 1 以降、または VMware Cloud Foundation 5.0 以降
これらのリリースは、どちらも Container Storage Interface (CSI) の移行をサポートしています。CSI の移行は、OpenShift Container Platform 4.16 ではデフォルトで有効になっています。
VMware vSphere インフラストラクチャーは、オンプレミスまたは次の表に示す要件を満たす VMware Cloud Verified プロバイダー でホストできます。
仮想環境製品 | 必須バージョン |
---|---|
VMware 仮想ハードウェア | 15 以降 |
vSphere ESXi ホスト | 7.0 Update 2 以降、または VMware Cloud Foundation 4.3 以降、8.0 Update 1 以降、または VMware Cloud Foundation 5.0 以降 |
vCenter ホスト | 7.0 Update 2 以降、または VMware Cloud Foundation 4.3 以降、8.0 Update 1 以降、または VMware Cloud Foundation 5.0 以降 |
OpenShift Container Platform をインストールする前に、ESXi ホストの時間が同期されていることを確認する必要があります。VMware ドキュメントの Edit Time Configuration for a Host を参照してください。
コンポーネント | サポートされる最小バージョン | 説明 |
---|---|---|
ハイパーバイザー | vSphere 7.0 Update 2 以降、または VMware Cloud Foundation 4.3 以降、vSphere 8.0 Update 1 以降、または VMware Cloud Foundation 5.0 以降 (仮想ハードウェアバージョン 15) | このハイパーバイザーのバージョンは、Red Hat Enterprise Linux CoreOS (RHCOS) がサポートする最小バージョンです。RHCOS と互換性のある Red Hat Enterprise Linux (RHEL) の最新バージョンでサポートされているハードウェアの詳細は、Red Hat Customer Portal の ハードウェア を参照してください。 |
オプション: Networking(NSX-T) | vSphere 7.0 Update 2 以降、または VMware Cloud Foundation 4.3 以降、vSphere 8.0 Update 1 以降、または VMware Cloud Foundation 5.0 以降 | NSX および OpenShift Container Platform の互換性の詳細は、VMware の NSX コンテナープラグインドキュメント のリリースノートセクションを参照してください。 |
CPU マイクロアーキテクチャー | x86-64-v2 以降 | OpenShift 4.13 以降では、マイクロアーキテクチャーの要件が x86-64-v2 に発生する RHEL 9.2 ホストオペレーティングシステムをベースにしています。RHEL マイクロアーキテクチャー要件に関するドキュメント を参照してください。このナレッジベースの記事 に記載されている手順に従って、互換性を確認できます。 |
Oracle® Cloud Infrastructure (OCI) および Oracle® Cloud VMware Solution (OCVS) サービス上で動作するクラスターワークロードの最適なパフォーマンス条件を確保するには、ブロックボリュームのボリュームパフォーマンスユニット (VPU) がワークロードに合わせてサイズ設定されていることを確認してください。
次のリストを参考に、特定のパフォーマンスニーズに応じて必要な VPU を選択してください。
- テストまたは概念実証環境: 100 GB、20 - 30 VPU。
- 基本実稼働環境: 500 GB、60 VPU。
- 頻繁に使用される実稼働環境: 500 GB 以上、100 以上の VPU。
更新とスケーリングアクティビティーに十分な容量を提供するために、追加の VPU を割り当てることを検討してください。Block Volume Performance Levels (Oracle ドキュメント) を参照してください。
2.1.2. ネットワーク接続の要件
OpenShift Container Platform クラスターのコンポーネントが通信できるように、マシン間のネットワーク接続を設定する必要があります。
必要なネットワークポートに関する次の詳細を確認してください。
プロトコル | ポート | 説明 |
---|---|---|
VRRP | 該当なし | keepalived に必要 |
ICMP | 該当なし | ネットワーク到達性のテスト |
TCP |
| メトリック |
|
ホストレベルのサービス。 ポート | |
| Kubernetes が予約するデフォルトポート | |
| openshift-sdn | |
UDP |
| 仮想拡張可能 LAN (VXLAN) |
| Geneve | |
|
ポート | |
| IPsec IKE パケット | |
| IPsec NAT-T パケット | |
TCP/UDP |
| Kubernetes ノードポート |
ESP | 該当なし | IPsec Encapsulating Security Payload (ESP) |
プロトコル | ポート | 説明 |
---|---|---|
TCP |
| Kubernetes API |
プロトコル | ポート | 説明 |
---|---|---|
TCP |
| etcd サーバーおよびピアポート |
2.1.3. VMware vSphere CSI Driver Operator の要件
vSphere Container Storage Interface (CSI) Driver Operator をインストールするには、次の要件を満たす必要があります。
- VMware vSphere バージョン: 7.0 Update 2 以降、または VMware Cloud Foundation 4.3 以降、8.0 Update 1 以降、または VMware Cloud Foundation 5.0 以降
- vCenter バージョン: 7.0 Update 2 以降、または VMware Cloud Foundation 4.3 以降、8.0 Update 1 以降、または VMware Cloud Foundation 5.0 以降
- ハードウェアバージョン 15 以降の仮想マシン
- クラスターにサードパーティーの vSphere CSI ドライバーがインストールされていない
サードパーティーの vSphere CSI ドライバーがクラスターに存在する場合、OpenShift Container Platform はそれを上書きしません。サードパーティーの vSphere CSI ドライバーが存在すると、OpenShift Container Platform を OpenShift Container Platform 4.13 以降にアップグレードできなくなります。
VMware vSphere CSI Driver Operator は、インストールマニフェストの platform: vsphere
でデプロイされたクラスターでのみサポートされます。
Container Storage Interface (CSI) ドライバー、vSphere CSI Driver Operator、および vSphere Problem Detector Operator のカスタムロールを作成できます。カスタムロールには、各 vSphere オブジェクトに最小限の権限セットを割り当てる権限セットを含めることができます。つまり、CSI ドライバー、vSphere CSI Driver Operator、および vSphere Problem Detector Operator はこれらのオブジェクトとの基本的な対話を確立できます。
vCenter への OpenShift Container Platform クラスターのインストールは、「必要な vCenter アカウントの特権」セクションで説明されているすべての特権のリストに対してテストされています。このすべての特権のリストに準拠することで、制限された特権セットを持つカスタムロールの作成時に予期しない動作やサポートされていない動作が発生する可能性を抑制できます。
関連情報
- サードパーティーの vSphere CSI ドライバーを削除する場合は、サードパーティーの vSphere CSI ドライバーの削除 を参照してください。
- vSphere ノードのハードウェアバージョンを更新する場合は、vSphere で稼働するノードのハードウェア更新 を参照してください。
- ストレージコンポーネントの最小権限
2.1.4. vCenter の要件
インストーラーでプロビジョニングされるインフラストラクチャーを使用する OpenShift Container Platform クラスターを vCenter にインストールする前に、環境を準備する必要があります。
必要な vCenter アカウントの権限
OpenShift Container Platform クラスターを vCenter にインストールするには、インストールプログラムには、必要なリソースの読み取りおよび作成権限を持つアカウントへのアクセスが必要になります。グローバル管理者権限のあるアカウントを使用すること方法が、必要なすべてのパーミッションにアクセスするための最も簡単な方法です。
グローバル管理者権限を持つアカウントを使用できない場合、OpenShift Container Platform クラスターのインストールに必要な権限を付与するためのロールを作成する必要があります。ほとんどの特権は常に必要になりますが、デフォルト動作であるインストールプログラムでの vCenter インスタンスへの OpenShift Container Platform クラスターが含まれるフォルダーのプロビジョニングを実行する場合にのみ必要となる特権もあります。必要な特権を付与するには、指定されたオブジェクトに vSphere ロールを作成するか、これを修正する必要があります。
インストールプログラムが vSphere 仮想マシンフォルダーを作成するために使用される場合には、追加のロールが必要です。
例2.1 vSphere API でのインストールに必要なロールと権限
ロールの vSphere オブジェクト | 必要になる場合 | vSphere API で必要な権限 |
---|---|---|
vSphere vCenter | 常時 |
|
vSphere vCenter Cluster | 仮想マシンがクラスタールートに作成される場合 |
|
vSphere vCenter リソースプール | 既存のリソースプールが提供されている場合 |
|
vSphere データストア | 常時 |
|
vSphere ポートグループ | 常時 |
|
仮想マシンフォルダー | 常時 |
|
vSphere vCenter data center |
インストールプログラムが仮想マシンフォルダーを作成する場合。user-provisioned infrastructure の場合、クラスターで Machine API を使用しないのであれば、 |
|
例2.2 vCenter グラフィカルユーザーインターフェイス (GUI) でのインストールに必要なロールと権限
ロールの vSphere オブジェクト | 必要になる場合 | vCenter GUI で必要な権限 |
---|---|---|
vSphere vCenter | 常時 |
|
vSphere vCenter Cluster | 仮想マシンがクラスタールートに作成される場合 |
|
vSphere vCenter リソースプール | 既存のリソースプールが提供されている場合 |
|
vSphere データストア | 常時 |
|
vSphere ポートグループ | 常時 |
|
仮想マシンフォルダー | 常時 |
|
vSphere vCenter data center |
インストールプログラムが仮想マシンフォルダーを作成する場合。user-provisioned infrastructure の場合、クラスターで Machine API を使用しないのであれば、 |
|
また、ユーザーには一部の ReadOnly
パーミッションが必要であり、一部のロールでは、パーミッションを子オブジェクトに伝播するパーミッションが必要です。これらの設定は、クラスターを既存のフォルダーにインストールするかどうかによって異なります。
例2.3 必要なパーミッションおよび伝播の設定
vSphere オブジェクト | 必要になる場合 | 子への伝播 | パーミッションが必要 |
---|---|---|---|
vSphere vCenter | 常時 | False | リスト表示された必要な特権 |
vSphere vCenter data center | 既存のフォルダー | False |
|
インストールプログラムがフォルダーを作成する | True | リスト表示された必要な特権 | |
vSphere vCenter Cluster | 既存のリソースプール | False |
|
クラスタールートの仮想マシン | True | リスト表示された必要な特権 | |
vSphere vCenter datastore | 常時 | False | リスト表示された必要な特権 |
vSphere Switch | 常時 | False |
|
vSphere ポートグループ | 常時 | False | リスト表示された必要な特権 |
vSphere vCenter 仮想マシンフォルダー | 既存のフォルダー | True | リスト表示された必要な特権 |
vSphere vCenter リソースプール | 既存のリソースプール | True | リスト表示された必要な特権 |
必要な権限のみを持つアカウントの作成に関する詳細は、vSphere ドキュメントの vSphere Permissions and User Management Tasks を参照してください。
最低限必要な vCenter アカウントの特権
カスタムロールを作成してそのロールに特権を割り当てた後、特定の vSphere オブジェクトを選択し、オブジェクトごとにカスタムロールをユーザーまたはグループに割り当てることで権限を作成できます。
vSphere オブジェクトの権限を作成するか、権限の作成を要求する前に、vSphere オブジェクトに適用する最小限の権限を決定してください。このタスクを実行すると、vSphere オブジェクトと OpenShift Container Platform アーキテクチャーの間の基本的な対話を確立できます。
カスタムロールを作成し、そのロールに特権を割り当てなかった場合、vSphere Server はデフォルトで Read Only
ロールをそのカスタムロールに割り当てます。クラウドプロバイダー API の場合、カスタムロールは Read Only
ロールの特権を継承するだけで済むことに注意してください。
グローバル管理者の特権を持つアカウントがニーズに合わない場合は、カスタムロールの作成を検討してください。
必要な特権が設定されていないアカウントはサポートされません。vCenter への OpenShift Container Platform クラスターのインストールは、「必要な vCenter アカウントの特権」セクションで説明されているすべての特権のリストに対してテストされています。このすべての権限のリストに準拠することで、制限された特権セットを持つカスタムロールの作成時に予期しない動作が発生する可能性を抑制できます。
以下の表に、特定の OpenShift Container Platform アーキテクチャーと対話する vSphere オブジェクトの最小権限のリストを示します。
例2.4 installer-provisioned infrastructure の最小権限
ロールの vSphere オブジェクト | 必要になる場合 | 必要な特権 |
---|---|---|
vSphere vCenter | 常時 |
|
vSphere vCenter Cluster | クラスタールートに仮想マシンを作成する場合 |
|
vSphere vCenter リソースプール |
|
|
vSphere ポートグループ | 常時 |
|
仮想マシンフォルダー | 常時 |
|
vSphere vCenter data center |
インストールプログラムが仮想マシンフォルダーを作成する場合。user-provisioned infrastructure の場合、クラスターで Machine API を使用しないのであれば、 |
|
例2.5 コンポーネントのインストール後の管理のための最小権限
ロールの vSphere オブジェクト | 必要になる場合 | 必要な特権 |
---|---|---|
vSphere vCenter | 常時 |
|
vSphere vCenter Cluster | クラスタールートに仮想マシンを作成する場合 |
|
vSphere vCenter リソースプール |
|
|
vSphere データストア | 常時 |
|
vSphere ポートグループ | 常時 |
|
仮想マシンフォルダー | 常時 |
|
vSphere vCenter data center |
インストールプログラムが仮想マシンフォルダーを作成する場合。user-provisioned infrastructure の場合、クラスターで Machine API を使用しないのであれば、 |
|
例2.6 ストレージコンポーネントの最小権限
ロールの vSphere オブジェクト | 必要になる場合 | 必要な特権 |
---|---|---|
vSphere vCenter | 常時 |
|
vSphere vCenter Cluster | クラスタールートに仮想マシンを作成する場合 |
|
vSphere vCenter リソースプール |
|
|
vSphere データストア | 常時 |
|
vSphere ポートグループ | 常時 |
|
仮想マシンフォルダー | 常時 |
|
vSphere vCenter data center |
インストールプログラムが仮想マシンフォルダーを作成する場合。user-provisioned infrastructure の場合、クラスターで Machine API を使用しないのであれば、 |
|
例2.7 Machine API の最小権限
ロールの vSphere オブジェクト | 必要になる場合 | 必要な特権 |
---|---|---|
vSphere vCenter | 常時 |
|
vSphere vCenter Cluster | クラスタールートに仮想マシンを作成する場合 |
|
vSphere vCenter リソースプール |
|
|
vSphere データストア | 常時 |
|
vSphere ポートグループ | 常時 |
|
仮想マシンフォルダー | 常時 |
|
vSphere vCenter data center |
インストールプログラムが仮想マシンフォルダーを作成する場合。user-provisioned infrastructure の場合、クラスターで Machine API を使用しないのであれば、 |
|
OpenShift Container Platform と vMotion の使用
vSphere 環境で vMotion を使用する場合は、OpenShift Container Platform クラスターをインストールする前に以下を考慮してください。
- Storage vMotion を使用すると問題が発生する可能性があるため、これはサポートされていません。
VMware コンピュート vMotion を使用して OpenShift Container Platform コンピュートマシンとコントロールプレーンマシンの両方のワークロードを移行することは通常サポートされていますが、これは 通常、vMotion に関するすべての VMware ベストプラクティスを満たしていることを意味します。
コンピュートプレーンノードとコントロールプレーンノードの稼働時間を確保するには、vMotion に関する VMware のベストプラクティスに従い、VMware のアンチアフィニティールールを使用して、メンテナンスまたはハードウェアの問題時の OpenShift Container Platform の可用性を向上させます。
vMotion および anti-affinity ルールの詳細は、vMotion ネットワーク要件 および VM の非アフィニティールール に関する VMware vSphere のドキュメントを参照してください。
- Pod で VMware vSphere ボリュームを使用している場合、手動または Storage vMotion を介してデータストア間で VM を移行すると、OpenShift Container Platform 永続ボリューム (PV) オブジェクト内で無効な参照が発生し、データ損失が発生する可能性があります。
OpenShift Container Platform は、仮想マシンのプロビジョニング用にデータストアクラスターを、または PV の動的または静的プロビジョニング用にデータストアクラスターを使用するか、PV の動的または静的プロビジョニング用にデータストアクラスターの一部であるデータストアを使用した VMDK のデータストア間での選択的な移行をサポートしません。
重要データストアクラスター内に存在する任意のデータストアのパスを指定できます。デフォルトでは、Storage vMotion を使用する Storage Distributed Resource Scheduler (SDRS) がデータストアクラスターに対して自動的に有効になります。Red Hat は Storage vMotion をサポートしていないため、OpenShift Container Platform クラスターのデータ損失の問題を回避するには、Storage DRS を無効にする必要があります。
複数のデータストアにわたって仮想マシンを指定する必要がある場合は、
datastore
オブジェクトを使用して、クラスターのinstall-config.yaml
設定ファイルで障害ドメインを指定します。詳細は、「VMware vSphere のリージョンとゾーンの有効化」を参照してください。
クラスターリソース
installer-provisioned infrastructure を使用する OpenShift Container Platform クラスターをデプロイする場合、インストールプログラムは vCenter インスタンスに複数のリソースを作成できる必要があります。
標準的な OpenShift Container Platform インストールでは、以下の vCenter リソースを作成します。
- 1 フォルダー
- 1 タグカテゴリー
- 1 タグ
仮想マシン:
- 1 テンプレート
- 1 一時的ブートストラップノード
- 3 コントロールプレーンノード
- 3 コンピュートマシン
これらのリソースは 856 GB のストレージを使用しますが、ブートストラップノードはクラスターのインストールプロセス時に破棄されます。標準クラスターを使用するには、最低 800 GB のストレージが必要です。
追加のコンピュートマシンをデプロイする場合、OpenShift Container Platform クラスターは追加のストレージを使用します。
クラスターの制限
利用可能なリソースはクラスターによって異なります。vCenter 内の予想されるクラスター数は、主に利用可能なストレージ容量と必要なリソース数の制限によって制限されます。クラスターが作成する vCenter リソースと、IP アドレスやネットワークなどのクラスターのデプロイに必要なリソースの両方の制限を考慮してください。
ネットワーク要件
ネットワークに Dynamic Host Configuration Protocol (DHCP) を使用して、クラスター内のマシンに永続的な IP アドレスを設定するように DHCP サーバーを設定できます。DHCP リースでは、デフォルトゲートウェイを使用するように DHCP を設定する必要があります。
静的 IP アドレスを使用してノードをプロビジョニングする場合は、ネットワークに DHCP を使用する必要はありません。
制限された環境にインストールする場合、制限されたネットワーク内の仮想マシンは、ノード、永続ボリュームクレーム (PVC)、およびその他のリソースをプロビジョニングおよび管理するために、vCenter にアクセスできる必要があります。
クラスター内の各 OpenShift Container Platform ノードが、DHCP によって検出可能な Network Time Protocol (NTP) サーバーにアクセスできることを確認してください。NTP サーバーがなくてもインストールは可能です。ただし、非同期のサーバークロックにより、エラーが発生する可能性があります。NTP サーバーがあれば、このエラーは防止されます。
さらに、OpenShift Container Platform クラスターをインストールする前に以下のネットワークリソースを作成する必要があります。
必要な IP アドレス
DHCP を使用するネットワークの場合、installer-provisioned vSphere インストールには 2 つの静的 IP アドレスが必要です。
- API アドレスは、クラスター API にアクセスするために使用されます。
- Ingress アドレスは、クラスターの Ingress トラフィックに使用されます。
OpenShift Container Platform クラスターのインストール時にこれらの IP アドレスをインストールプログラムに指定する必要があります。
DNS レコード
OpenShift Container Platform クラスターをホストする vCenter インスタンスに 2 つの静的 IP アドレスの DNS レコードを適切な DNS サーバーに作成する必要があります。各レコードで、<cluster_name>
はクラスター名で、<base_domain>
は、クラスターのインストール時に指定するクラスターのベースドメインです。完全な DNS レコードは <component>.<cluster_name>.<base_domain>.
の形式を取ります。
コンポーネント | レコード | 説明 |
---|---|---|
API VIP |
| この DNS A/AAAA または CNAME (Canonical Name) レコードは、コントロールプレーンマシンのロードバランサーを参照する必要があります。このレコードは、クラスター外のクライアントおよびクラスター内のすべてのノードで解決できる必要があります。 |
Ingress VIP |
| Ingress ルーター Pod を実行するマシンをターゲットにするロードバランサーを参照するワイルドカード DNS A/AAAA または CNAME レコードです。このレコードは、クラスター外のクライアントおよびクラスター内のすべてのノードで解決できる必要があります。 |
vSphere ノードの静的 IP アドレス
動的ホスト設定プロトコル (DHCP) が存在しない環境では、ブートストラップ、コントロールプレーン、およびコンピュートノードを静的 IP アドレスで設定するようにプロビジョニングできます。この環境を設定するには、install-config.yaml
ファイルの platform.vsphere.hosts.role
パラメーターに値を指定する必要があります。
デフォルトでは、インストールプログラムはネットワークに DHCP を使用するように設定されていますが、このネットワークの設定可能な機能は限られています。
install-config.yaml
ファイルで 1 つ以上のマシンプールを定義した後、ネットワーク上のノードにネットワーク定義を定義できます。ネットワーク定義の数が、クラスターに設定したマシンプールの数と一致していることを確認してください。
異なるロールを指定するネットワーク設定の例
# ... platform: vsphere: hosts: - role: bootstrap 1 networkDevice: ipAddrs: - 192.168.204.10/24 2 gateway: 192.168.204.1 3 nameservers: 4 - 192.168.204.1 - role: control-plane networkDevice: ipAddrs: - 192.168.204.11/24 gateway: 192.168.204.1 nameservers: - 192.168.204.1 - role: control-plane networkDevice: ipAddrs: - 192.168.204.12/24 gateway: 192.168.204.1 nameservers: - 192.168.204.1 - role: control-plane networkDevice: ipAddrs: - 192.168.204.13/24 gateway: 192.168.204.1 nameservers: - 192.168.204.1 - role: compute networkDevice: ipAddrs: - 192.168.204.14/24 gateway: 192.168.204.1 nameservers: - 192.168.204.1 # ...
- 1
- 有効なネットワーク定義値には、
bootstrap
、control-plane
、およびcompute
が含まれます。install-config.yaml
設定ファイルに少なくとも 1 つのbootstrap
ネットワーク定義をリストする必要があります。 - 2
- インストールプログラムがネットワークインターフェイスに渡す IPv4、IPv6、またはその両方の IP アドレスをリストします。マシン API コントローラーは、設定されているすべての IP アドレスをデフォルトのネットワークインターフェイスに割り当てます。
- 3
- ネットワークインターフェイスのデフォルトゲートウェイ。
- 4
- 最大 3 つの DNS ネームサーバーをリストします。
静的 IP アドレスを持つノードを実行するようにクラスターをデプロイした後、これらの静的 IP アドレスのいずれかを使用するようにマシンをスケーリングできます。さらに、マシンセットを使用して、設定済みの静的 IP アドレスの 1 つを使用するようにマシンを設定できます。