22.8. ユーザーによってプロビジョニングされるインフラストラクチャーのネットワークが制限された環境での VMC へのクラスターのインストール


OpenShift Container Platform バージョン 4.13 では、クラスターを VMware Cloud (VMC) on AWS にデプロイすることで、制限されたネットワークでプロビジョニングする VMware vSphere インフラストラクチャーにクラスターをインストールできます。

OpenShift Container Platform デプロイメント用に VMC 環境を設定した後に、VMC 環境に併設された bastion 管理ホストの OpenShift Container Platform インストールプログラムを使用します。インストールプログラムおよびコントロールプレーンは、OpenShift Container Platform クラスターに必要なリソースのデプロイおよび管理プロセスを自動化します。

注記

OpenShift Container Platform は、単一の VMware vCenter へのクラスターのデプロイのみをサポートします。複数の vCenter にマシン/マシンセットを含むクラスターをデプロイすることはサポートされていません。

22.8.1. vSphere 用の VMC の設定

OpenShift Container Platform を VMware Cloud (VMC) on AWS でホストされた vSphere クラスターにインストールし、アプリケーションをオンプレミスおよびオンプレミスの両方でハイブリッドクラウド全体にデプロイし、管理することができます。

OpenShift Container Platform を VMware vSphere にインストールする前に、複数のオプションを VMC 環境で設定する必要があります。VMC 環境が以下の前提条件を満たしていることを確認します。

  • 排他的ではない、 DHCP 対応の NSX-T ネットワークセグメントおよびサブネットを作成します。他の仮想マシン (VM) をサブネットでホストできますが、OpenShift Container Platform デプロイメントには 8 つ以上の IP アドレスが利用可能でなければなりません。
  • 以下のファイアウォールルールを設定します。

    • ポート 443 上のインストールホストと、ソフトウェア定義データセンター (SDDC) 管理ネットワーク間の ANY:ANY ファイアウォールルール。これにより、デプロイメント時に Red Hat Enterprise Linux CoreOS (RHCOS) OVA をアップロードできます。
    • OpenShift Container Platform コンピュートネットワークと vCenter 間の HTTPS ファイアウォールルール。この接続により、OpenShift Container Platform はノード、永続ボリューム要求 (PVC) および他のリソースをプロビジョニングし、管理するために vCenter と通信できます。
  • OpenShift Container Platform をデプロイするには、以下の情報が必要です。

    • OpenShift Container Platform クラスターの名前 (vmc-prod-1 など)。
    • ベース DNS 名 (companyname.com など)。
    • デフォルトを使用しない場合、Pod ネットワーク CIDR およびサービスネットワーク CIDR を特定する必要があります。これはデフォルトで 10.128.0.0/14 および 172.30.0.0/16 にそれぞれ設定されます。これらの CIDR は Pod 間および Pod とサービス間の通信に使用され、外部からアクセスすることはできません。ただし、それらは組織内の既存のサブネットと重複することができません。
    • 以下の vCenter 情報:

      • vCenter ホスト名、ユーザー名、およびパスワード
      • データセンター名 (SDDC-Datacenter など)
      • クラスター名 (Cluster-1 など)
      • ネットワーク名
      • データストア名 (WorkloadDatastore など)

        注記

        クラスターのインストールの完了後に、vSphere クラスターを VMC Compute-ResourcePool リソースプールに移動することが推奨されます。

  • bastion として VMC にデプロイされる Linux ベースのホスト。

    • bastion ホストには Red Hat Enterprise Linux (RHEL) または他の Linux ベースのホストを使用できます。インターネット接続と OVA を ESXi ホストにアップロードする機能が必要です。
    • OpenShift CLI ツールをダウンロードし、 bastion ホストにインストールします。

      • openshift-install インストールプログラム
      • OpenShift CLI (oc) ツール
注記

VMware NSX Container Plugin for Kubernetes (NCP) は使用できないため、NSX は OpenShift SDN として使用されません。VMC で現在利用できる NSX のバージョンは、OpenShift Container Platform で認定されている NCP のバージョンとは互換性がありません。

ただし、NSX DHCP サービスは、フルスタックの自動化 OpenShift Container Platform デプロイメントおよびマシン API の vSphere への統合によって手動または自動でプロビジョニングされたノードと共に仮想マシンの IP 管理に使用されます。さらに、NSX ファイアウォールルールは、OpenShift Container Platform クラスターの a アクセス、および bastion ホストと VMC vSphere ホスト間のアクセスを有効にするために作成されます。

22.8.1.1. VMC Sizer ツール

VMware Cloud on AWS は AWS ベアメタルインフラストラクチャー上に構築されます。これは、AWS ネイティブサービスを実行するベアメタルインフラストラクチャーと同じです。VMware cloud on AWSS のソフトウェア定義データセンター (SDDC) がデプロイされると、これらの物理サーバーノードを使用し、単一のテナント方式で VMware ESXi ハイパーバイザーを実行します。つまり、物理インフラストラクチャーは、 VMC を使用して他のユーザーがアクセスすることはできません。仮想インフラストラクチャーをホストするために必要な物理ホストの数を考慮することが重要です。

これを判別できるように、VMware は VMC on AWS Sizer を提供しています。このツールを使用して、VMC でホストするリソースを定義できます。

  • ワークロードのタイプ
  • 仮想マシンの合計数
  • 仕様情報 (以下を含む)。

    • ストレージ要件
    • vCPU
    • vRAM
    • オーバーコミットの比率

これらの詳細情報により、Sizer ツールは VMware のベストプラクティスに基づいてレポートを生成し、クラスター設定および必要なホスト数について推奨します。

22.8.2. vSphere 要件

22.8.3. ネットワークが制限された環境でのインストールについて

OpenShift Container Platform 4.13 では、ソフトウェアコンポーネントを取得するためにインターネットへのアクティブな接続を必要としないインストールを実行できます。ネットワークが制限された環境のインストールは、クラスターのインストール先となるクラウドプラットフォームに応じて、インストーラーでプロビジョニングされるインフラストラクチャーまたはユーザーによってプロビジョニングされるインフラストラクチャーを使用して実行できます。

クラウドプラットフォーム上でネットワークが制限されたインストールの実行を選択した場合でも、そのクラウド API へのアクセスが必要になります。Amazon Web Service の Route 53 DNS や IAM サービスなどの一部のクラウド機能には、インターネットアクセスが必要です。ネットワークによっては、ベアメタルハードウェア、Nutanix、または VMware vSphere へのインストールに必要なインターネットアクセスが少なくて済む場合があります。

ネットワークが制限されたインストールを完了するには、OpenShift イメージレジストリーのコンテンツをミラーリングし、インストールメディアを含むレジストリーを作成する必要があります。このミラーは、インターネットと制限されたネットワークの両方にアクセスできるミラーホストで、または制限に対応する他の方法を使用して作成できます。

重要

user-provisioned installation の設定は複雑であるため、user-provisioned infrastructure を使用してネットワークが制限されたインストールを試行する前に、標準的な user-provisioned infrastructure を実行することを検討してください。このテストが完了すると、ネットワークが制限されたインストール時に発生する可能性のある問題の切り分けやトラブルシューティングがより容易になります。

22.8.3.1. その他の制限

ネットワークが制限された環境のクラスターには、以下の追加の制限および制約があります。

  • ClusterVersion ステータスには Unable to retrieve available updates エラーが含まれます。
  • デフォルトで、開発者カタログのコンテンツは、必要とされるイメージストリームタグにアクセスできないために使用できません。

22.8.4. OpenShift Container Platform のインターネットアクセス

OpenShift Container Platform 4.13 では、クラスターのインストールに必要なイメージを取得するために、インターネットにアクセスする必要があります。

インターネットへのアクセスは以下を実行するために必要です。

  • OpenShift Cluster Manager Hybrid Cloud Console にアクセスし、インストールプログラムをダウンロードし、サブスクリプション管理を実行します。クラスターにインターネットアクセスがあり、Telemetry を無効にしない場合、そのサービスは有効なサブスクリプションでクラスターを自動的に使用します。
  • クラスターのインストールに必要なパッケージを取得するために Quay.io にアクセスします。
  • クラスターの更新を実行するために必要なパッケージを取得します。

22.8.5. VMware vSphere インフラストラクチャーの要件

OpenShift Container Platform クラスターは、使用するコンポーネントの要件に合わせて、以下に示す VMware vSphere インスタンスのいずれかのバージョンにインストールする必要があります。

  • バージョン 7.0 Update 2 以降
  • バージョン 8.0 Update 1 以降

VMware vSphere インフラストラクチャーは、オンプレミスまたは次の表に示す要件を満たす VMware Cloud Verified プロバイダー でホストできます。

Expand
表22.103 vSphere 仮想環境のバージョン要件
仮想環境製品必須バージョン

VMware 仮想ハードウェア

15 以降

vSphere ESXi ホスト

7.0 Update 2 以降、8.0 Update 1 以降

vCenter ホスト

7.0 Update 2 以降、8.0 Update 1 以降

Expand
表22.104 VMware コンポーネントのサポートされる vSphere の最小バージョン
コンポーネントサポートされる最小バージョン説明

ハイパーバイザー

仮想ハードウェアバージョン 15 を搭載した vSphere 7.0 Update 2 (以降) または vSphere 8.0 Update 1 (以降)

このバージョンは、Red Hat Enterprise Linux CoreOS (RHCOS) がサポートする最小バージョンです。RHCOS と互換性のある Red Hat Enterprise Linux (RHEL) の最新バージョンでサポートされているハードウェアの詳細は、Red Hat Customer Portal の ハードウェア を参照してください。

ストレージおよび In-tree ドライバー

vSphere 7.0 Update 2 以降、8.0 Update 1 以降

このプラグインは、OpenShift Container Platform に含まれる vSphere の In-tree ストレージドライバーを使用して vSphere ストレージを作成します。

CPU マイクロアーキテクチャー

x86-64-v2 以降

OpenShift 4.13 以降では、マイクロアーキテクチャーの要件が x86-64-v2 に発生する RHEL 9.2 ホストオペレーティングシステムをベースにしています。RHEL マイクロアーキテクチャー要件に関するドキュメント を参照してください。このナレッジベースの記事 に記載されている手順に従って、互換性を確認できます。

重要

OpenShift Container Platform をインストールする前に、ESXi ホストの時間が同期されていることを確認する必要があります。VMware ドキュメントの Edit Time Configuration for a Host を参照してください。

22.8.6. VMware vSphere CSI Driver Operator の要件

vSphere CSI Driver Operator をインストールするには、次の要件を満たす必要があります。

  • VMware vSphere バージョン: 7.0 Update 2 以降、8.0 Update 1 以降
  • vCenter バージョン: 7.0 Update 2 以降、8.0 Update 1 以降
  • ハードウェアバージョン 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 でデプロイされたクラスターでのみサポートされます。

user-provisioned infrastructure を含むクラスターの場合、必要なマシンすべてをデプロイする必要があります。

このセクションでは、user-provisioned infrastructure に OpenShift Container Platform をデプロイする要件を説明します。

22.8.7.1. vCenter の要件

指定のインフラストラクチャーを使用する OpenShift Container Platform クラスターを vCenter にインストールする前に、環境を準備する必要があります。

必要な vCenter アカウントの権限

OpenShift Container Platform クラスターを vCenter にインストールするには、vSphere アカウントに必要なリソースの読み取りと作成のための権限が含まれている必要があります。グローバル管理者権限のあるアカウントを使用すること方法が、必要なすべてのパーミッションにアクセスするための最も簡単な方法です。

例22.25 vSphere API でのインストールに必要なロールと権限

Expand
ロールの vSphere オブジェクト必要になる場合vSphere API で必要な権限

vSphere vCenter

常時

Cns.Searchable
InventoryService.Tagging.AttachTag
InventoryService.Tagging.CreateCategory
InventoryService.Tagging.CreateTag
InventoryService.Tagging.DeleteCategory
InventoryService.Tagging.DeleteTag
InventoryService.Tagging.EditCategory
InventoryService.Tagging.EditTag
Sessions.ValidateSession
StorageProfile.Update
StorageProfile.View

vSphere vCenter Cluster

仮想マシンがクラスタールートに作成される場合

Host.Config.Storage
Resource.AssignVMToPool
VApp.AssignResourcePool
VApp.Import
VirtualMachine.Config.AddNewDisk

vSphere vCenter リソースプール

既存のリソースプールが提供されている場合

Host.Config.Storage
Resource.AssignVMToPool
VApp.AssignResourcePool
VApp.Import
VirtualMachine.Config.AddNewDisk

vSphere Datastore

常時

Datastore.AllocateSpace
Datastore.Browse
Datastore.FileManagement
InventoryService.Tagging.ObjectAttachable

vSphere ポートグループ

常時

Network.Assign

仮想マシンフォルダー

常時

InventoryService.Tagging.ObjectAttachable
Resource.AssignVMToPool
VApp.Import
VirtualMachine.Config.AddExistingDisk
VirtualMachine.Config.AddNewDisk
VirtualMachine.Config.AddRemoveDevice
VirtualMachine.Config.AdvancedConfig
VirtualMachine.Config.Annotation
VirtualMachine.Config.CPUCount
VirtualMachine.Config.DiskExtend
VirtualMachine.Config.DiskLease
VirtualMachine.Config.EditDevice
VirtualMachine.Config.Memory
VirtualMachine.Config.RemoveDisk
VirtualMachine.Config.Rename
VirtualMachine.Config.ResetGuestInfo
VirtualMachine.Config.Resource
VirtualMachine.Config.Settings
VirtualMachine.Config.UpgradeVirtualHardware
VirtualMachine.Interact.GuestControl
VirtualMachine.Interact.PowerOff
VirtualMachine.Interact.PowerOn
VirtualMachine.Interact.Reset
VirtualMachine.Inventory.Create
VirtualMachine.Inventory.CreateFromExisting
VirtualMachine.Inventory.Delete
VirtualMachine.Provisioning.Clone
VirtualMachine.Provisioning.MarkAsTemplate
VirtualMachine.Provisioning.DeployTemplate

vSphere vCenter Datacenter

インストールプログラムが仮想マシンフォルダーを作成する場合。UPI の場合、クラスターが Machine API を使用しないのであれば VirtualMachine.Inventory.Create および VirtualMachine.Inventory.Delete 権限は任意です。

InventoryService.Tagging.ObjectAttachable
Resource.AssignVMToPool
VApp.Import
VirtualMachine.Config.AddExistingDisk
VirtualMachine.Config.AddNewDisk
VirtualMachine.Config.AddRemoveDevice
VirtualMachine.Config.AdvancedConfig
VirtualMachine.Config.Annotation
VirtualMachine.Config.CPUCount
VirtualMachine.Config.DiskExtend
VirtualMachine.Config.DiskLease
VirtualMachine.Config.EditDevice
VirtualMachine.Config.Memory
VirtualMachine.Config.RemoveDisk
VirtualMachine.Config.Rename
VirtualMachine.Config.ResetGuestInfo
VirtualMachine.Config.Resource
VirtualMachine.Config.Settings
VirtualMachine.Config.UpgradeVirtualHardware
VirtualMachine.Interact.GuestControl
VirtualMachine.Interact.PowerOff
VirtualMachine.Interact.PowerOn
VirtualMachine.Interact.Reset
VirtualMachine.Inventory.Create
VirtualMachine.Inventory.CreateFromExisting
VirtualMachine.Inventory.Delete
VirtualMachine.Provisioning.Clone
VirtualMachine.Provisioning.DeployTemplate
VirtualMachine.Provisioning.MarkAsTemplate
Folder.Create
Folder.Delete

例22.26 vCenter グラフィカルユーザーインターフェイス (GUI) でのインストールに必要なロールと権限

Expand
ロールの vSphere オブジェクト必要になる場合vCenter GUI で必要な権限

vSphere vCenter

常時

Cns.Searchable
"vSphere Tagging"."Assign or Unassign vSphere Tag"
"vSphere Tagging"."Create vSphere Tag Category"
"vSphere Tagging"."Create vSphere Tag"
vSphere Tagging"."Delete vSphere Tag Category"
"vSphere Tagging"."Delete vSphere Tag"
"vSphere Tagging"."Edit vSphere Tag Category"
"vSphere Tagging"."Edit vSphere Tag"
Sessions."Validate session"
"Profile-driven storage"."Profile-driven storage update"
"Profile-driven storage"."Profile-driven storage view"

vSphere vCenter Cluster

仮想マシンがクラスタールートに作成される場合

Host.Configuration."Storage partition configuration"
Resource."Assign virtual machine to resource pool"
VApp."Assign resource pool"
VApp.Import
"Virtual machine"."Change Configuration"."Add new disk"

vSphere vCenter リソースプール

既存のリソースプールが提供されている場合

Host.Configuration."Storage partition configuration"
Resource."Assign virtual machine to resource pool"
VApp."Assign resource pool"
VApp.Import
"Virtual machine"."Change Configuration"."Add new disk"

vSphere Datastore

常時

Datastore."Allocate space"
Datastore."Browse datastore"
Datastore."Low level file operations"
"vSphere Tagging"."Assign or Unassign vSphere Tag on Object"

vSphere ポートグループ

常時

Network."Assign network"

仮想マシンフォルダー

常時

"vSphere Tagging"."Assign or Unassign vSphere Tag on Object"
Resource."Assign virtual machine to resource pool"
VApp.Import
"Virtual machine"."Change Configuration"."Add existing disk"
"Virtual machine"."Change Configuration"."Add new disk"
"Virtual machine"."Change Configuration"."Add or remove device"
"Virtual machine"."Change Configuration"."Advanced configuration"
"Virtual machine"."Change Configuration"."Set annotation"
"Virtual machine"."Change Configuration"."Change CPU count"
"Virtual machine"."Change Configuration"."Extend virtual disk"
"Virtual machine"."Change Configuration"."Acquire disk lease"
"Virtual machine"."Change Configuration"."Modify device settings"
"Virtual machine"."Change Configuration"."Change Memory"
"Virtual machine"."Change Configuration"."Remove disk"
"Virtual machine"."Change Configuration".Rename
"Virtual machine"."Change Configuration"."Reset guest information"
"Virtual machine"."Change Configuration"."Change resource"
"Virtual machine"."Change Configuration"."Change Settings"
"Virtual machine"."Change Configuration"."Upgrade virtual machine compatibility"
"Virtual machine".Interaction."Guest operating system management by VIX API"
"Virtual machine".Interaction."Power off"
"Virtual machine".Interaction."Power on"
"Virtual machine".Interaction.Reset
"Virtual machine"."Edit Inventory"."Create new"
"Virtual machine"."Edit Inventory"."Create from existing"
"Virtual machine"."Edit Inventory"."Remove"
"Virtual machine".Provisioning."Clone virtual machine"
"Virtual machine".Provisioning."Mark as template"
"Virtual machine".Provisioning."Deploy template"

vSphere vCenter Datacenter

インストールプログラムが仮想マシンフォルダーを作成する場合。UPI の場合、クラスターが Machine API を使用しないのであれば VirtualMachine.Inventory.Create および VirtualMachine.Inventory.Delete 権限は任意です。

"vSphere Tagging"."Assign or Unassign vSphere Tag on Object"
Resource."Assign virtual machine to resource pool"
VApp.Import
"Virtual machine"."Change Configuration"."Add existing disk"
"Virtual machine"."Change Configuration"."Add new disk"
"Virtual machine"."Change Configuration"."Add or remove device"
"Virtual machine"."Change Configuration"."Advanced configuration"
"Virtual machine"."Change Configuration"."Set annotation"
"Virtual machine"."Change Configuration"."Change CPU count"
"Virtual machine"."Change Configuration"."Extend virtual disk"
"Virtual machine"."Change Configuration"."Acquire disk lease"
"Virtual machine"."Change Configuration"."Modify device settings"
"Virtual machine"."Change Configuration"."Change Memory"
"Virtual machine"."Change Configuration"."Remove disk"
"Virtual machine"."Change Configuration".Rename
"Virtual machine"."Change Configuration"."Reset guest information"
"Virtual machine"."Change Configuration"."Change resource"
"Virtual machine"."Change Configuration"."Change Settings"
"Virtual machine"."Change Configuration"."Upgrade virtual machine compatibility"
"Virtual machine".Interaction."Guest operating system management by VIX API"
"Virtual machine".Interaction."Power off"
"Virtual machine".Interaction."Power on"
"Virtual machine".Interaction.Reset
"Virtual machine"."Edit Inventory"."Create new"
"Virtual machine"."Edit Inventory"."Create from existing"
"Virtual machine"."Edit Inventory"."Remove"
"Virtual machine".Provisioning."Clone virtual machine"
"Virtual machine".Provisioning."Deploy template"
"Virtual machine".Provisioning."Mark as template"
Folder."Create folder"
Folder."Delete folder"

また、ユーザーには一部の ReadOnly パーミッションが必要であり、一部のロールでは、パーミッションを子オブジェクトに伝播するパーミッションが必要です。これらの設定は、クラスターを既存のフォルダーにインストールするかどうかによって異なります。

例22.27 必要なパーミッションおよび伝播の設定

Expand
vSphere オブジェクト必要になる場合子への伝播パーミッションが必要

vSphere vCenter

常時

False

必要な特権がリスト表示

vSphere vCenter Datacenter

既存のフォルダー

False

ReadOnly パーミッション

インストールプログラムがフォルダーを作成する

True

リスト表示された必要な特権

vSphere vCenter Cluster

既存のリソースプール

False

ReadOnly パーミッション

クラスタールートの仮想マシン

True

リスト表示された必要な特権

vSphere vCenter Datastore

常時

False

リスト表示された必要な特権

vSphere Switch

常時

False

ReadOnly パーミッション

vSphere ポートグループ

常時

False

リスト表示された必要な特権

vSphere vCenter 仮想マシンフォルダー

既存のフォルダー

True

リスト表示された必要な特権

vSphere vCenter リソースプール

既存のリソースプール

True

リスト表示された必要な特権

必要な権限のみを持つアカウントの作成に関する詳細は、vSphere ドキュメントの vSphere Permissions and User Management Tasks を参照してください。

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 のデータストア間での選択的な移行をサポートしません。
クラスターリソース

提供したインフラストラクチャーを使用する OpenShift Container Platform クラスターをデプロイする場合は、vCenter インスタンスに以下のリソースを作成する必要があります。

  • 1 フォルダー
  • 1 タグカテゴリー
  • 1 タグ
  • 仮想マシン:

    • 1 テンプレート
    • 1 一時的ブートストラップノード
    • 3 コントロールプレーンノード
    • 3 コンピュートマシン

これらのリソースは 856 GB のストレージを使用しますが、ブートストラップノードはクラスターのインストールプロセス時に破棄されます。標準クラスターを使用するには、最低 800 GB のストレージが必要です。

追加のコンピュートマシンをデプロイする場合、OpenShift Container Platform クラスターは追加のストレージを使用します。

クラスターの制限

利用可能なリソースはクラスターによって異なります。vCenter 内の予想されるクラスター数は、主に利用可能なストレージ容量と必要なリソース数の制限によって制限されます。クラスターが作成する vCenter リソースと、IP アドレスやネットワークなどのクラスターのデプロイに必要なリソースの両方の制限を考慮してください。

ネットワーク要件

ネットワークに動的ホスト設定プロトコル (DHCP) を使用し、クラスターマシンに永続的な IP アドレスを提供するように DHCP サーバーが設定されていることを確認する必要があります。DHCP リースでは、デフォルトゲートウェイを使用するように DHCP を設定する必要があります。すべてのノードが同じ VLAN にある必要があります。2 日目の操作として 2 番目の VLAN を使用してクラスターをスケーリングすることはできません。さらに、OpenShift Container Platform クラスターをインストールする前に以下のネットワークリソースを作成する必要があります。

注記

クラスターの各 OpenShift Container Platform ノードは、DHCP を使用して検出可能な Network Time Protocol (NTP) サーバーにアクセスできることが推奨されます。NTP サーバーなしでインストールが可能です。ただし、非同期のサーバークロックによりエラーが発生しますが、NTP サーバーはこのエラーを阻止します。

必要な IP アドレス
DNS レコード

OpenShift Container Platform クラスターをホストする vCenter インスタンスについて 2 つの静的 IP アドレスの DNS レコードを適切な DNS サーバーに作成する必要があります。各レコードで、<cluster_name> はクラスター名で、<base_domain> は、クラスターのインストール時に指定するクラスターのベースドメインです。完全な DNS レコードは <component>.<cluster_name>.<base_domain>. の形式を取ります。

Expand
表22.105 必要な DNS レコード
コンポーネントレコード説明

API VIP

api.<cluster_name>.<base_domain>.

この DNS A/AAAA または CNAME レコードは、コントロールプレーンマシンのロードバランサーを参照する必要があります。このレコードは、クラスター外のクライアントおよびクラスター内のすべてのノードで解決できる必要があります。

Ingress VIP

*.apps.<cluster_name>.<base_domain>.

Ingress ルーター Pod を実行するマシンをターゲットにするロードバランサーを参照するワイルドカード DNS A/AAAA または CNAME レコードです。このレコードは、クラスター外のクライアントおよびクラスター内のすべてのノードで解決できる必要があります。

22.8.7.2. クラスターのインストールに必要なマシン

最小の OpenShift Container Platform クラスターでは以下のホストが必要です。

Expand
表22.106 最低限必要なホスト
ホスト説明

1 つの一時的なブートストラップマシン

クラスターでは、ブートストラップマシンが OpenShift Container Platform クラスターを 3 つのコントロールプレーンマシンにデプロイする必要があります。クラスターのインストール後にブートストラップマシンを削除できます。

3 つのコントロールプレーンマシン

コントロールプレーンマシンは、コントロールプレーンを設定する Kubernetes および OpenShift Container Platform サービスを実行します。

少なくとも 2 つのコンピュートマシン (ワーカーマシンとしても知られる)。

OpenShift Container Platform ユーザーが要求するワークロードは、コンピュートマシンで実行されます。

重要

クラスターの高可用性を改善するには、2 つ以上の物理マシンの複数の異なる z/VM インスタンスにコントロールプレーンマシンを分散します。

ブートストラップ、コントロールプレーンおよびコンピュートマシンでは、Red Hat Enterprise Linux CoreOS (RHCOS) をオペレーティングシステムとして使用する必要があります。

RHCOS は Red Hat Enterprise Linux (RHEL) 9.2 をベースとしており、そのハードウェア認定および要件が継承されることに注意してください。Red Hat Enterprise Linux テクノロジーの機能と制限 を参照してください。

22.8.7.3. クラスターインストールの最小リソース要件

それぞれのクラスターマシンは、以下の最小要件を満たしている必要があります。

Expand
表22.107 最小リソース要件
マシンオペレーティングシステムvCPU [1]仮想 RAMストレージ1 秒あたりの入出力 (IOPS)

ブートストラップ

RHCOS

4

16 GB

100 GB

該当なし

コントロールプレーン

RHCOS

4

16 GB

100 GB

該当なし

Compute

RHCOS

2

8 GB

100 GB

該当なし

  1. 1 つの物理コア (IFL) は、SMT-2 が有効な場合に 2 つの論理コア (スレッド) を提供します。ハイパーバイザーは、2 つ以上の vCPU を提供できます。
注記

OpenShift Container Platform バージョン 4.13 の時点で、RHCOS は RHEL バージョン 9.2 に基づいており、マイクロアーキテクチャーの要件を更新します。次のリストには、各アーキテクチャーに必要な最小限の命令セットアーキテクチャー (ISA) が含まれています。

  • x86-64 アーキテクチャーには x86-64-v2 ISA が必要
  • ARM64 アーキテクチャーには ARMv8.0-A ISA が必要
  • IBM Power アーキテクチャーには Power 9 ISA が必要
  • s390x アーキテクチャーには z14 ISA が必要

詳細は、RHEL アーキテクチャー を参照してください。

プラットフォームのインスタンスタイプがクラスターマシンの最小要件を満たす場合、これは OpenShift Container Platform で使用することがサポートされます。

22.8.7.4. 証明書署名要求の管理

ユーザーがプロビジョニングするインフラストラクチャーを使用する場合、クラスターの自動マシン管理へのアクセスは制限されるため、インストール後にクラスターの証明書署名要求 (CSR) のメカニズムを提供する必要があります。kube-controller-manager は kubelet クライアント CSR のみを承認します。machine-approver は、kubelet 認証情報を使用して要求される提供証明書の有効性を保証できません。適切なマシンがこの要求を発行したかどうかを確認できないためです。kubelet 提供証明書の要求の有効性を検証し、それらを承認する方法を判別し、実装する必要があります。

22.8.7.5. user-provisioned infrastructure のネットワーク要件

すべての Red Hat Enterprise Linux CoreOS (RHCOS) マシンでは、起動時に initramfs でネットワークを設定し、Ignition 設定ファイルをフェッチする必要があります。

22.8.7.5.1. ネットワーク接続の要件

OpenShift Container Platform クラスターのコンポーネントが通信できるように、マシン間のネットワーク接続を設定する必要があります。すべてのマシンではクラスターの他のすべてのマシンのホスト名を解決できる必要があります。

本セクションでは、必要なポートの詳細を説明します。

重要

接続された OpenShift Container Platform 環境では、プラットフォームコンテナーのイメージをプルし、Telemetry データを Red Hat に提供するために、すべてのノードにインターネットへのアクセスが必要です。

Expand
表22.108 すべてのマシンからすべてのマシンへの通信に使用されるポート
プロトコルポート説明

ICMP

該当なし

ネットワーク到達性のテスト

TCP

1936

メトリック

9000-9999

ホストレベルのサービス。 ポート 9100-9101 のノードエクスポーター、ポート 9099 の Cluster Version Operator が含まれます。

10250-10259

Kubernetes が予約するデフォルトポート

10256

openshift-sdn

UDP

4789

VXLAN

6081

Geneve

9000-9999

ポート 9100-9101 のノードエクスポーターを含む、ホストレベルのサービス。

500

IPsec IKE パケット

4500

IPsec NAT-T パケット

123

UDP ポート 123 のネットワークタイムプロトコル (NTP)

外部 NTP タイムサーバーが設定されている場合は、UDP ポート 123 を開く必要があります。

TCP/UDP

30000-32767

Kubernetes ノードポート

ESP

該当なし

IPsec Encapsulating Security Payload (ESP)

Expand
表22.109 すべてのマシンからコントロールプレーンへの通信に使用されるポート
プロトコルポート説明

TCP

6443

Kubernetes API

Expand
表22.110 コントロールプレーンマシンからコントロールプレーンマシンへの通信に使用されるポート
プロトコルポート説明

TCP

2379-2380

etcd サーバーおよびピアポート

Ethernet アダプターのハードウェアアドレス要件

クラスターの仮想マシンをプロビジョニングする場合、各仮想マシンに設定されたイーサネットインターフェイスは VMware Organizationally Unique Identifier (OUI) 割り当て範囲から MAC アドレスを使用する必要があります。

  • 00:05:69:00:00:00 - 00:05:69:FF:FF:FF
  • 00:0c:29:00:00:00 - 00:0c:29:FF:FF:FF
  • 00:1c:14:00:00:00 - 00:1c:14:FF:FF:FF
  • 00:50:56:00:00:00 to 00:50:56:3F:FF:FF

VMware OUI 外の MAC アドレスが使用される場合、クラスターのインストールは成功しません。

22.8.7.6. user-provisioned DNS 要件

OpenShift Container Platform のデプロイメントでは、以下のコンポーネントに DNS 名前解決が必要です。

  • The Kubernetes API
  • OpenShift Container Platform のアプリケーションワイルドカード
  • ブートストラップ、コントロールプレーンおよびコンピュートマシン

また、Kubernetes API、ブートストラップマシン、コントロールプレーンマシン、およびコンピュートマシンに逆引き DNS 解決も必要です。

DNS A/AAAA または CNAME レコードは名前解決に使用され、PTR レコードは逆引き名前解決に使用されます。ホスト名が DHCP によって提供されていない場合は、Red Hat Enterprise Linux CoreOS (RHCOS) は逆引きレコードを使用してすべてのノードのホスト名を設定するため、逆引きレコードは重要です。さらに、逆引きレコードは、OpenShift Container Platform が動作するために必要な証明書署名要求 (CSR) を生成するために使用されます。

以下の DNS レコードは、user-provisioned OpenShift Container Platform クラスターに必要で、これはインストール前に設定されている必要があります。各レコードで、<cluster_name> はクラスター名で、<base_domain> は、install-config.yaml ファイルに指定するベースドメインです。完全な DNS レコードは <component>.<cluster_name>.<base_domain>. の形式を取ります。

Expand
表22.111 必要な DNS レコード
コンポーネントレコード説明

Kubernetes API

api.<cluster_name>.<base_domain>.

API ロードバランサーを特定するための DNS A/AAAA または CNAME レコード、および DNS PTR レコード。これらのレコードは、クラスター外のクライアントおよびクラスター内のすべてのノードで解決できる必要があります。

api-int.<cluster_name>.<base_domain>.

API ロードバランサーを内部的に識別するための DNS A/AAAA または CNAME レコード、および DNS PTR レコード。これらのレコードは、クラスター内のすべてのノードで解決できる必要があります。

重要

API サーバーは、Kubernetes に記録されるホスト名でワーカーノードを解決できる必要があります。API サーバーがノード名を解決できない場合、プロキシーされる API 呼び出しが失敗し、Pod からログを取得できなくなる可能性があります。

ルート

*.apps.<cluster_name>.<base_domain>.

アプリケーション Ingress ロードバランサーを参照するワイルドカード DNS A/AAAA または CNAME レコード。アプリケーション Ingress ロードバランサーは、Ingress コントローラー Pod を実行するマシンをターゲットにします。Ingress コントローラー Pod はデフォルトでコンピュートマシンで実行されます。これらのレコードは、クラスター外のクライアントおよびクラスター内のすべてのノードで解決できる必要があります。

たとえば、console-openshift-console.apps.<cluster_name>.<base_domain> は、OpenShift Container Platform コンソールへのワイルドカードルートとして使用されます。

ブートストラップマシン

bootstrap.<cluster_name>.<base_domain>.

ブートストラップマシンを識別するための DNS A / AAAA または CNAME レコード、および DNS PTR レコード。これらのレコードは、クラスター内のノードで解決できる必要があります。

コントロールプレーンマシン

<control_plane><n>.<cluster_name>.<base_domain>.

ワーカーノードの各マシンを特定するための DNS A/AAAA または CNAME レコードおよび DNS PTR レコードこれらのレコードは、クラスター内のノードで解決できる必要があります。

コンピュートマシン

<compute><n>.<cluster_name>.<base_domain>.

ワーカーノードの各マシンを特定するための DNS A/AAAA または CNAME レコード、および DNS PTR レコード。これらのレコードは、クラスター内のノードで解決できる必要があります。

注記

OpenShift Container Platform 4.4 以降では、DNS 設定で etcd ホストおよび SRV レコードを指定する必要はありません。

ヒント

dig コマンドを使用して、名前および逆引き名前解決を確認することができます。検証手順の詳細は、user-provisioned infrastructure の DNS 解決の検証 のセクションを参照してください。

22.8.7.6.1. user-provisioned クラスターの DNS 設定の例

このセクションでは、user-provisioned infrastructure に OpenShift Container Platform をデプロイするための DNS 要件を満たす A および PTR レコード設定サンプルを提供します。サンプルは、特定の DNS ソリューションを選択するためのアドバイスを提供することを目的としていません。

この例では、クラスター名は ocp4 で、ベースドメインは example.com です。

user-provisioned クラスターの DNS A レコードの設定例

BIND ゾーンファイルの以下の例は、user-provisioned クラスターの名前解決の A レコードの例を示しています。

例22.28 DNS ゾーンデータベースのサンプル

$TTL 1W
@	IN	SOA	ns1.example.com.	root (
			2019070700	; serial
			3H		; refresh (3 hours)
			30M		; retry (30 minutes)
			2W		; expiry (2 weeks)
			1W )		; minimum (1 week)
	IN	NS	ns1.example.com.
	IN	MX 10	smtp.example.com.
;
;
ns1.example.com.		IN	A	192.168.1.5
smtp.example.com.		IN	A	192.168.1.5
;
helper.example.com.		IN	A	192.168.1.5
helper.ocp4.example.com.	IN	A	192.168.1.5
;
api.ocp4.example.com.		IN	A	192.168.1.5 
1

api-int.ocp4.example.com.	IN	A	192.168.1.5 
2

;
*.apps.ocp4.example.com.	IN	A	192.168.1.5 
3

;
bootstrap.ocp4.example.com.	IN	A	192.168.1.96 
4

;
control-plane0.ocp4.example.com.	IN	A	192.168.1.97 
5

control-plane1.ocp4.example.com.	IN	A	192.168.1.98 
6

control-plane2.ocp4.example.com.	IN	A	192.168.1.99 
7

;
compute0.ocp4.example.com.	IN	A	192.168.1.11 
8

compute1.ocp4.example.com.	IN	A	192.168.1.7 
9

;
;EOF
Copy to Clipboard Toggle word wrap
1
Kubernetes API の名前解決を提供します。レコードは API ロードバランサーの IP アドレスを参照します。
2
Kubernetes API の名前解決を提供します。レコードは API ロードバランサーの IP アドレスを参照し、内部クラスター通信に使用されます。
3
ワイルドカードルートの名前解決を提供します。レコードは、アプリケーション Ingress ロードバランサーの IP アドレスを参照します。アプリケーション Ingress ロードバランサーは、Ingress コントローラー Pod を実行するマシンをターゲットにします。Ingress コントローラー Pod はデフォルトでコンピュートマシンで実行されます。
注記

この例では、同じロードバランサーが Kubernetes API およびアプリケーションの Ingress トラフィックに使用されます。実稼働のシナリオでは、API およびアプリケーション Ingress ロードバランサーを個別にデプロイし、それぞれのロードバランサーインフラストラクチャーを分離してスケーリングすることができます。

4
ブートストラップマシンの名前解決を提供します。
5 6 7
コントロールプレーンマシンの名前解決を提供します。
8 9
コンピュートマシンの名前解決を提供します。

user-provisioned クラスターの DNS PTR レコードの設定例

以下の BIND ゾーンファイルの例では、user-provisioned クラスターの逆引き名前解決の PTR レコードの例を示しています。

例22.29 逆引きレコードの DNS ゾーンデータベースの例

$TTL 1W
@	IN	SOA	ns1.example.com.	root (
			2019070700	; serial
			3H		; refresh (3 hours)
			30M		; retry (30 minutes)
			2W		; expiry (2 weeks)
			1W )		; minimum (1 week)
	IN	NS	ns1.example.com.
;
5.1.168.192.in-addr.arpa.	IN	PTR	api.ocp4.example.com. 
1

5.1.168.192.in-addr.arpa.	IN	PTR	api-int.ocp4.example.com. 
2

;
96.1.168.192.in-addr.arpa.	IN	PTR	bootstrap.ocp4.example.com. 
3

;
97.1.168.192.in-addr.arpa.	IN	PTR	control-plane0.ocp4.example.com. 
4

98.1.168.192.in-addr.arpa.	IN	PTR	control-plane1.ocp4.example.com. 
5

99.1.168.192.in-addr.arpa.	IN	PTR	control-plane2.ocp4.example.com. 
6

;
11.1.168.192.in-addr.arpa.	IN	PTR	compute0.ocp4.example.com. 
7

7.1.168.192.in-addr.arpa.	IN	PTR	compute1.ocp4.example.com. 
8

;
;EOF
Copy to Clipboard Toggle word wrap
1
Kubernetes API の逆引き DNS 解決を提供します。PTR レコードは、API ロードバランサーのレコード名を参照します。
2
Kubernetes API の逆引き DNS 解決を提供します。PTR レコードは、API ロードバランサーのレコード名を参照し、内部クラスター通信に使用されます。
3
ブートストラップマシンの逆引き DNS 解決を提供します。
4 5 6
コントロールプレーンマシンの逆引き DNS 解決を提供します。
7 8
コンピュートマシンの逆引き DNS 解決を提供します。
注記

PTR レコードは、OpenShift Container Platform アプリケーションのワイルドカードには必要ありません。

22.8.7.7. user-provisioned infrastructure の負荷分散要件

OpenShift Container Platform をインストールする前に、API およびアプリケーションの Ingress 負荷分散インフラストラクチャーをプロビジョニングする必要があります。実稼働のシナリオでは、API およびアプリケーション Ingress ロードバランサーを個別にデプロイし、それぞれのロードバランサーインフラストラクチャーを分離してスケーリングすることができます。

注記

Red Hat Enterprise Linux (RHEL) インスタンスを使用して API およびアプリケーションイングレスロードバランサーをデプロイする場合は、RHEL サブスクリプションを別途購入する必要があります。

負荷分散インフラストラクチャーは以下の要件を満たす必要があります。

  1. API ロードバランサー: プラットフォームと対話およびプラットフォームを設定するためのユーザー向けの共通のエンドポイントを提供します。以下の条件を設定します。

    • Layer 4 の負荷分散のみ。これは、Raw TCP または SSL パススルーモードと呼ばれます。
    • ステートレス負荷分散アルゴリズム。オプションは、ロードバランサーの実装によって異なります。
    重要

    API ロードバランサーのセッションの永続性は設定しないでください。Kubernetes API サーバーのセッション永続性を設定すると、OpenShift Container Platform クラスターとクラスター内で実行される Kubernetes API の過剰なアプリケーショントラフィックによりパフォーマンスの問題が発生する可能性があります。

    ロードバランサーのフロントとバックの両方で以下のポートを設定します。

    Expand
    表22.112 API ロードバランサー
    ポートバックエンドマシン (プールメンバー)内部外部説明

    6443

    ブートストラップおよびコントロールプレーン。ブートストラップマシンがクラスターのコントロールプレーンを初期化した後に、ブートストラップマシンをロードバランサーから削除します。API サーバーのヘルスチェックプローブの /readyz エンドポイントを設定する必要があります。

    X

    X

    Kubernetes API サーバー

    22623

    ブートストラップおよびコントロールプレーン。ブートストラップマシンがクラスターのコントロールプレーンを初期化した後に、ブートストラップマシンをロードバランサーから削除します。

    X

     

    マシン設定サーバー

    注記

    ロードバランサーは、API サーバーが /readyz エンドポイントをオフにしてからプールから API サーバーインスタンスを削除するまで最大 30 秒かかるように設定する必要があります。/readyz の後の時間枠内でエラーが返されたり、正常になったりする場合は、エンドポイントが削除または追加されているはずです。5 秒または 10 秒ごとにプローブし、2 つの正常な要求が正常な状態になり、3 つの要求が正常な状態になりません。これらは十分にテストされた値です。

  2. Application Ingress ロードバランサー: クラスター外から送られるアプリケーショントラフィックの Ingress ポイントを提供します。Ingress ルーターの作業用の設定が OpenShift Container Platform クラスターに必要です。

    以下の条件を設定します。

    • Layer 4 の負荷分散のみ。これは、Raw TCP または SSL パススルーモードと呼ばれます。
    • 選択可能なオプションやプラットフォーム上でホストされるアプリケーションの種類に基づいて、接続ベースの永続化またはセッションベースの永続化が推奨されます。
    ヒント

    クライアントの実際の IP アドレスがアプリケーション Ingress ロードバランサーによって確認できる場合、ソースの IP ベースのセッション永続化を有効にすると、エンドツーエンドの TLS 暗号化を使用するアプリケーションのパフォーマンスを強化できます。

    ロードバランサーのフロントとバックの両方で以下のポートを設定します。

    Expand
    表22.113 アプリケーション Ingress ロードバランサー
    ポートバックエンドマシン (プールメンバー)内部外部説明

    443

    デフォルトで Ingress コントローラー Pod、コンピュート、またはワーカーを実行するマシン。

    X

    X

    HTTPS トラフィック

    80

    デフォルトで Ingress コントローラー Pod、コンピュート、またはワーカーを実行するマシン。

    X

    X

    HTTP トラフィック

    注記

    ゼロ (0) コンピュートノードで 3 ノードクラスターをデプロイする場合、Ingress コントローラー Pod はコントロールプレーンノードで実行されます。3 ノードクラスターデプロイメントでは、HTTP および HTTPS トラフィックをコントロールプレーンノードにルーティングするようにアプリケーション Ingress ロードバランサーを設定する必要があります。

22.8.7.7.1. user-provisioned クラスターのロードバランサーの設定例

このセクションでは、user-provisioned クラスターの負荷分散要件を満たす API およびアプリケーション Ingress ロードバランサーの設定例を説明します。この例は、HAProxy ロードバランサーの /etc/haproxy/haproxy.cfg 設定です。この例では、特定の負荷分散ソリューションを選択するためのアドバイスを提供することを目的としていません。

この例では、同じロードバランサーが Kubernetes API およびアプリケーションの Ingress トラフィックに使用されます。実稼働のシナリオでは、API およびアプリケーション Ingress ロードバランサーを個別にデプロイし、それぞれのロードバランサーインフラストラクチャーを分離してスケーリングすることができます。

注記

HAProxy をロードバランサーとして使用し、SELinux が enforcing に設定されている場合は、setsebool -P haproxy_connect_any=1 を実行して、HAProxy サービスが設定済みの TCP ポートにバインドできることを確認する必要があります。

例22.30 API およびアプリケーション Ingress ロードバランサーの設定例

global
  log         127.0.0.1 local2
  pidfile     /var/run/haproxy.pid
  maxconn     4000
  daemon
defaults
  mode                    http
  log                     global
  option                  dontlognull
  option http-server-close
  option                  redispatch
  retries                 3
  timeout http-request    10s
  timeout queue           1m
  timeout connect         10s
  timeout client          1m
  timeout server          1m
  timeout http-keep-alive 10s
  timeout check           10s
  maxconn                 3000
listen api-server-6443 
1

  bind *:6443
  mode tcp
  option  httpchk GET /readyz HTTP/1.0
  option  log-health-checks
  balance roundrobin
  server bootstrap bootstrap.ocp4.example.com:6443 verify none check check-ssl inter 10s fall 2 rise 3 backup 
2

  server master0 master0.ocp4.example.com:6443 weight 1 verify none check check-ssl inter 10s fall 2 rise 3
  server master1 master1.ocp4.example.com:6443 weight 1 verify none check check-ssl inter 10s fall 2 rise 3
  server master2 master2.ocp4.example.com:6443 weight 1 verify none check check-ssl inter 10s fall 2 rise 3
listen machine-config-server-22623 
3

  bind *:22623
  mode tcp
  server bootstrap bootstrap.ocp4.example.com:22623 check inter 1s backup 
4

  server master0 master0.ocp4.example.com:22623 check inter 1s
  server master1 master1.ocp4.example.com:22623 check inter 1s
  server master2 master2.ocp4.example.com:22623 check inter 1s
listen ingress-router-443 
5

  bind *:443
  mode tcp
  balance source
  server worker0 worker0.ocp4.example.com:443 check inter 1s
  server worker1 worker1.ocp4.example.com:443 check inter 1s
listen ingress-router-80 
6

  bind *:80
  mode tcp
  balance source
  server worker0 worker0.ocp4.example.com:80 check inter 1s
  server worker1 worker1.ocp4.example.com:80 check inter 1s
Copy to Clipboard Toggle word wrap
1
ポート 6443 は Kubernetes API トラフィックを処理し、コントロールプレーンマシンを参照します。
2 4
ブートストラップエントリーは、OpenShift Container Platform クラスターのインストール前に有効にし、ブートストラッププロセスの完了後にそれらを削除する必要があります。
3
ポート 22623 はマシン設定サーバートラフィックを処理し、コントロールプレーンマシンを参照します。
5
ポート 443 は HTTPS トラフィックを処理し、Ingress コントローラー Pod を実行するマシンを参照します。Ingress コントローラー Pod はデフォルトでコンピュートマシンで実行されます。
6
ポート 80 は HTTP トラフィックを処理し、Ingress コントローラー Pod を実行するマシンを参照します。Ingress コントローラー Pod はデフォルトでコンピュートマシンで実行されます。
注記

ゼロ (0) コンピュートノードで 3 ノードクラスターをデプロイする場合、Ingress コントローラー Pod はコントロールプレーンノードで実行されます。3 ノードクラスターデプロイメントでは、HTTP および HTTPS トラフィックをコントロールプレーンノードにルーティングするようにアプリケーション Ingress ロードバランサーを設定する必要があります。

ヒント

HAProxy をロードバランサーとして使用する場合は、HAProxy ノードで netstat -nltupe を実行して、ポート 644322623443、および 80haproxy プロセスがリッスンしていることを確認することができます。

22.8.8. user-provisioned infrastructure の準備

user-provisioned infrastructure に OpenShift Container Platform をインストールする前に、基礎となるインフラストラクチャーを準備する必要があります。

このセクションでは、OpenShift Container Platform インストールの準備としてクラスターインフラストラクチャーを設定するために必要な手順の概要を説明します。これには、クラスターノード用の IP ネットワークおよびネットワーク接続の設定、Ignition ファイルの Web サーバーの準備、ファイアウォール経由での必要なポートの有効化、必要な DNS および負荷分散インフラストラクチャーの設定が含まれます。

準備後、クラスターインフラストラクチャーは、user-provisioned infrastructure を使用したクラスターの要件 セクションで説明されている要件を満たす必要があります。

前提条件

手順

  1. 静的 IP アドレスをセットアップします。
  2. HTTP または HTTPS サーバーを設定し、Ignition ファイルをクラスターノードに提供します。
  3. ネットワークインフラストラクチャーがクラスターコンポーネント間の必要なネットワーク接続を提供することを確認します。要件に関する詳細は、user-provisioned infrastructure のネットワーク要件 のセクションを参照してください。
  4. OpenShift Container Platform クラスターコンポーネントで通信するために必要なポートを有効にするようにファイアウォールを設定します。必要なポートの詳細は、user-provisioned infrastructure のネットワーク要件 のセクションを参照してください。

    重要

    デフォルトで、ポート 1936 は OpenShift Container Platform クラスターにアクセスできます。これは、各コントロールプレーンノードがこのポートへのアクセスを必要とするためです。

    Ingress ロードバランサーを使用してこのポートを公開しないでください。これを実行すると、Ingress コントローラーに関連する統計やメトリクスなどの機密情報が公開される可能性があるためです。

  5. クラスターに必要な DNS インフラストラクチャーを設定します。

    1. Kubernetes API、アプリケーションワイルドカード、ブートストラップマシン、コントロールプレーンマシン、およびコンピュートマシンの DNS 名前解決を設定します。
    2. Kubernetes API、ブートストラップマシン、コントロールプレーンマシン、およびコンピュートマシンの逆引き DNS 解決を設定します。

      OpenShift Container Platform DNS 要件の詳細は、user-provisioned DNS 要件 のセクションを参照してください。

  6. DNS 設定を検証します。

    1. インストールノードから、Kubernetes API、ワイルドカードルート、およびクラスターノードのレコード名に対して DNS ルックアップを実行します。応答の IP アドレスが正しいコンポーネントに対応することを確認します。
    2. インストールノードから、ロードバランサーとクラスターノードの IP アドレスに対して逆引き DNS ルックアップを実行します。応答のレコード名が正しいコンポーネントに対応することを確認します。

      DNS 検証手順の詳細は、user-provisioned infrastructure の DNS 解決の検証 のセクションを参照してください。

  7. 必要な API およびアプリケーションの Ingress 負荷分散インフラストラクチャーをプロビジョニングします。要件に関する詳細は、user-provisioned infrastructure の負荷分散要件 のセクションを参照してください。
注記

一部の負荷分散ソリューションでは、負荷分散を初期化する前に、クラスターノードの DNS 名前解決を有効化する必要があります。

22.8.9. user-provisioned infrastructure の DNS 解決の検証

OpenShift Container Platform を user-provisioned infrastructure にインストールする前に、DNS 設定を検証できます。

重要

本セクションの検証手順は、クラスターのインストール前に正常に実行される必要があります。

前提条件

  • user-provisioned infrastructure に必要な DNS レコードを設定している。

手順

  1. インストールノードから、Kubernetes API、ワイルドカードルート、およびクラスターノードのレコード名に対して DNS ルックアップを実行します。応答に含まれる IP アドレスが正しいコンポーネントに対応することを確認します。

    1. Kubernetes API レコード名に対してルックアップを実行します。結果が API ロードバランサーの IP アドレスを参照することを確認します。

      $ dig +noall +answer @<nameserver_ip> api.<cluster_name>.<base_domain> 
      1
      Copy to Clipboard Toggle word wrap
      1
      <nameserver_ip> をネームサーバーの IP アドレスに、<cluster_name> をクラスター名に、<base_domain> をベースドメイン名に置き換えます。

      出力例

      api.ocp4.example.com.		604800	IN	A	192.168.1.5
      Copy to Clipboard Toggle word wrap

    2. Kubernetes 内部 API レコード名に対してルックアップを実行します。結果が API ロードバランサーの IP アドレスを参照することを確認します。

      $ dig +noall +answer @<nameserver_ip> api-int.<cluster_name>.<base_domain>
      Copy to Clipboard Toggle word wrap

      出力例

      api-int.ocp4.example.com.		604800	IN	A	192.168.1.5
      Copy to Clipboard Toggle word wrap

    3. *.apps.<cluster_name>.<base_domain> DNS ワイルドカードルックアップの例をテストします。すべてのアプリケーションのワイルドカードルックアップは、アプリケーション Ingress ロードバランサーの IP アドレスに解決する必要があります。

      $ dig +noall +answer @<nameserver_ip> random.apps.<cluster_name>.<base_domain>
      Copy to Clipboard Toggle word wrap

      出力例

      random.apps.ocp4.example.com.		604800	IN	A	192.168.1.5
      Copy to Clipboard Toggle word wrap

      注記

      出力例では、同じロードバランサーが Kubernetes API およびアプリケーションの Ingress トラフィックに使用されます。実稼働のシナリオでは、API およびアプリケーション Ingress ロードバランサーを個別にデプロイし、それぞれのロードバランサーインフラストラクチャーを分離してスケーリングすることができます。

      random は、別のワイルドカード値に置き換えることができます。たとえば、OpenShift Container Platform コンソールへのルートをクエリーできます。

      $ dig +noall +answer @<nameserver_ip> console-openshift-console.apps.<cluster_name>.<base_domain>
      Copy to Clipboard Toggle word wrap

      出力例

      console-openshift-console.apps.ocp4.example.com. 604800 IN	A 192.168.1.5
      Copy to Clipboard Toggle word wrap

    4. ブートストラップ DNS レコード名に対してルックアップを実行します。結果がブートストラップノードの IP アドレスを参照することを確認します。

      $ dig +noall +answer @<nameserver_ip> bootstrap.<cluster_name>.<base_domain>
      Copy to Clipboard Toggle word wrap

      出力例

      bootstrap.ocp4.example.com.		604800	IN	A	192.168.1.96
      Copy to Clipboard Toggle word wrap

    5. この方法を使用して、コントロールプレーンおよびコンピュートノードの DNS レコード名に対してルックアップを実行します。結果が各ノードの IP アドレスに対応していることを確認します。
  2. インストールノードから、ロードバランサーとクラスターノードの IP アドレスに対して逆引き DNS ルックアップを実行します。応答に含まれるレコード名が正しいコンポーネントに対応することを確認します。

    1. API ロードバランサーの IP アドレスに対して逆引き参照を実行します。応答に、Kubernetes API および Kubernetes 内部 API のレコード名が含まれていることを確認します。

      $ dig +noall +answer @<nameserver_ip> -x 192.168.1.5
      Copy to Clipboard Toggle word wrap

      出力例

      5.1.168.192.in-addr.arpa. 604800	IN	PTR	api-int.ocp4.example.com. 
      1
      
      5.1.168.192.in-addr.arpa. 604800	IN	PTR	api.ocp4.example.com. 
      2
      Copy to Clipboard Toggle word wrap

      1
      Kubernetes 内部 API のレコード名を指定します。
      2
      Kubernetes API のレコード名を指定します。
      注記

      PTR レコードは、OpenShift Container Platform アプリケーションのワイルドカードには必要ありません。アプリケーション Ingress ロードバランサーの IP アドレスに対する逆引き DNS 解決の検証手順は必要ありません。

    2. ブートストラップノードの IP アドレスに対して逆引き参照を実行します。結果がブートストラップノードの DNS レコード名を参照していることを確認します。

      $ dig +noall +answer @<nameserver_ip> -x 192.168.1.96
      Copy to Clipboard Toggle word wrap

      出力例

      96.1.168.192.in-addr.arpa. 604800	IN	PTR	bootstrap.ocp4.example.com.
      Copy to Clipboard Toggle word wrap

    3. この方法を使用して、コントロールプレーンおよびコンピュートノードの IP アドレスに対して逆引きルックアップを実行します。結果が各ノードの DNS レコード名に対応していることを確認します。

22.8.10. クラスターノードの SSH アクセス用のキーペアの生成

OpenShift Container Platform をインストールする際に、SSH パブリックキーをインストールプログラムに指定できます。キーは、Ignition 設定ファイルを介して Red Hat Enterprise Linux CoreOS (RHCOS) ノードに渡され、ノードへの SSH アクセスを認証するために使用されます。このキーは各ノードの core ユーザーの ~/.ssh/authorized_keys リストに追加され、パスワードなしの認証が可能になります。

キーがノードに渡されると、キーペアを使用して RHCOS ノードにユーザー core として SSH を実行できます。SSH 経由でノードにアクセスするには、秘密鍵のアイデンティティーをローカルユーザーの SSH で管理する必要があります。

インストールのデバッグまたは障害復旧を実行するためにクラスターノードに対して SSH を実行する場合は、インストールプロセスの間に SSH 公開鍵を指定する必要があります。./openshift-install gather コマンドでは、SSH 公開鍵がクラスターノードに配置されている必要もあります。

重要

障害復旧およびデバッグが必要な実稼働環境では、この手順を省略しないでください。

手順

  1. クラスターノードへの認証に使用するローカルマシンに既存の SSH キーペアがない場合は、これを作成します。たとえば、Linux オペレーティングシステムを使用するコンピューターで以下のコマンドを実行します。

    $ ssh-keygen -t ed25519 -N '' -f <path>/<file_name> 
    1
    Copy to Clipboard Toggle word wrap
    1
    新しい SSH キーのパスとファイル名 (~/.ssh/id_ed25519 など) を指定します。既存のキーペアがある場合は、公開鍵が ~/.ssh ディレクトリーにあることを確認します。
  2. 公開 SSH キーを表示します。

    $ cat <path>/<file_name>.pub
    Copy to Clipboard Toggle word wrap

    たとえば、次のコマンドを実行して ~/.ssh/id_ed25519.pub 公開鍵を表示します。

    $ cat ~/.ssh/id_ed25519.pub
    Copy to Clipboard Toggle word wrap
  3. ローカルユーザーの SSH エージェントに SSH 秘密鍵 ID が追加されていない場合は、それを追加します。キーの SSH エージェント管理は、クラスターノードへのパスワードなしの SSH 認証、または ./openshift-install gather コマンドを使用する場合は必要になります。

    注記

    一部のディストリビューションでは、~/.ssh/id_rsa および ~/.ssh/id_dsa などのデフォルトの SSH 秘密鍵のアイデンティティーは自動的に管理されます。

    1. ssh-agent プロセスがローカルユーザーに対して実行されていない場合は、バックグラウンドタスクとして開始します。

      $ eval "$(ssh-agent -s)"
      Copy to Clipboard Toggle word wrap

      出力例

      Agent pid 31874
      Copy to Clipboard Toggle word wrap

  4. SSH プライベートキーを ssh-agent に追加します。

    $ ssh-add <path>/<file_name> 
    1
    Copy to Clipboard Toggle word wrap
    1
    ~/.ssh/id_ed25519 などの、SSH プライベートキーのパスおよびファイル名を指定します。

    出力例

    Identity added: /home/<you>/<path>/<file_name> (<computer_name>)
    Copy to Clipboard Toggle word wrap

次のステップ

  • OpenShift Container Platform をインストールする際に、SSH パブリックキーをインストールプログラムに指定します。クラスターを独自にプロビジョニングするインフラストラクチャーにインストールする場合は、キーをインストールプログラムに指定する必要があります。

22.8.11. VMware vSphere のリージョンとゾーンの有効化

OpenShift Container Platform クラスターを、単一の VMware vCenter で実行される複数の vSphere データセンターにデプロイできます。各データセンターは複数のクラスターを実行できます。この設定により、クラスターの障害を引き起こす可能性のあるハードウェア障害やネットワーク停止のリスクが軽減されます。リージョンとゾーンを有効にするには、OpenShift Container Platform クラスターに複数の障害ドメインを定義する必要があります。

重要

VMware vSphere のリージョンおよびゾーンの有効化機能には、クラスター内のデフォルトのストレージドライバーとして vSphere Container Storage Interface (CSI) ドライバーが必要です。そのため、この機能は新しくインストールされたクラスターでのみ使用できます。

以前のリリースからアップグレードされたクラスターは、デフォルトでツリー内 vSphere ドライバーを使用するため、クラスターの CSI 自動移行を有効にする必要があります。その後、アップグレードされたクラスターに対して複数のリージョンとゾーンを設定できます。

デフォルトのインストール設定では、クラスターが単一の vSphere データセンターにデプロイされます。クラスターを複数の vSphere データセンターにデプロイする場合は、リージョンおよびゾーン機能を有効にするインストール設定ファイルを作成する必要があります。

デフォルトの install-config.yaml ファイルには vcenters フィールドFailureDomains フィールドが含まれており、OpenShift Container Platform クラスターに複数の vSphere データセンターとクラスターを指定できます。単一のデータセンターで設定される vSphere 環境に OpenShift Container Platform クラスターをインストールする場合は、これらのフィールドを空白のままにすることができます。

次のリストでは、クラスターのゾーンとリージョンの定義に関連する用語について説明します。

  • 障害ドメイン: リージョンとゾーン間の関係を確立します。障害ドメインは、datastore オブジェクトなどの vCenter オブジェクトを使用して定義します。障害ドメインは、OpenShift Container Platform クラスターノードの vCenter の場所を定義します。
  • リージョン: vCenter データセンターを指定します。リージョンを定義するには、openshift-region タグカテゴリーのタグを使用します。
  • ゾーン: vCenter クラスターを指定します。ゾーンを定義するには、openshift-zone タグカテゴリーのタグを使用します。
注記

install-config.yaml ファイルで複数の障害ドメインを指定する予定がある場合は、設定ファイルを作成する前に、タグカテゴリー、ゾーンタグ、およびリージョンタグを作成する必要があります。

リージョンを表す vCenter データセンターごとに vCenter タグを作成する必要があります。さらに、データセンターで実行されるクラスターごとに、ゾーンを表す vCenter タグを作成する必要があります。タグを作成した後、各タグをそれぞれのデータセンターとクラスターにアタッチする必要があります。

次の表は、単一の VMware vCenter で実行されている複数の vSphere データセンターを含む設定のリージョン、ゾーン、タグ間の関係の例を示しています。

Expand
データセンター (リージョン)クラスター (ゾーン)タグ

米国東部

us-east-1

us-east-1a

us-east-1b

us-east-2

us-east-2a

us-east-2b

us-west

us-west-1

us-west-1a

us-west-1b

us-west-2

us-west-2a

us-west-2b

22.8.12. インストール設定ファイルの手動作成

クラスターをインストールするには、インストール設定ファイルを手動で作成する必要があります。

重要

Cluster Cloud Controller Manager Operator は、指定されたホスト名または IP アドレスに対して接続チェックを行います。到達可能な vCenter サーバーに対して、ホスト名または IP アドレスを指定していることを確認してください。存在しない vCenter サーバーにメタデータを提供すると、クラスターのインストールはブートストラップ段階で失敗します。

前提条件

  • ローカルマシンには、インストールプログラムに提供する SSH 公開鍵があります。このキーは、デバッグおよび障害復旧のためにクラスターノードへの SSH 認証に使用されます。
  • OpenShift Container Platform インストールプログラムおよびクラスターのプルシークレットを取得しています。
  • リポジトリーのミラーリングに使用するコマンドの出力で imageContentSources セクションを取得します。
  • ミラーレジストリーの証明書の内容を取得する。

手順

  1. 必要なインストールアセットを保存するためのインストールディレクトリーを作成します。

    $ mkdir <installation_directory>
    Copy to Clipboard Toggle word wrap
    重要

    ディレクトリーを作成する必要があります。ブートストラップ X.509 証明書などの一部のインストールアセットの有効期限は短く設定されているため、インストールディレクトリーを再利用することができません。別のクラスターインストールの個別のファイルを再利用する必要がある場合は、それらをディレクトリーにコピーすることができます。ただし、インストールアセットのファイル名はリリース間で変更される可能性があります。インストールファイルを以前のバージョンの OpenShift Container Platform からコピーする場合は注意してコピーを行ってください。

  2. 提供されるサンプルの install-config.yaml ファイルテンプレートをカスタマイズし、これを <installation_directory> に保存します。

    注記

    この設定ファイルの名前を install-config.yaml と付ける必要があります。

    • docker.io などの、RHCOS がデフォルトで信頼するレジストリーを使用しない限り、additionalTrustBundle セクションにミラーリポジトリーの証明書の内容を指定する必要があります。ほとんどの場合、ミラーの証明書を指定する必要があります。
    • リポジトリーのミラーリングに使用するコマンドの出力の imageContentSources セクションを組み込む必要があります。
  3. 3 ノードクラスターをインストールする場合は、compute.replicas パラメーターを 0 に設定して、install-config.yaml ファイルを変更します。これにより、クラスターのコントロールプレーンがスケジュール可能になります。詳細は、「{platform} への 3 ノードクラスターのインストール」を参照してください。
  4. install-config.yaml ファイルをバックアップし、複数のクラスターをインストールするのに使用できるようにします。

    重要

    install-config.yaml ファイルは、インストールプロセスの次の手順で使用されます。この時点でこれをバックアップする必要があります。

22.8.12.1. インストール設定パラメーター

OpenShift Container Platform クラスターをデプロイする前に、環境の詳細を記述するカスタマイズされた install-config.yaml インストール設定ファイルを指定します。

注記

インストール後は、これらのパラメーターを install-config.yaml ファイルで変更することはできません。

22.8.12.1.1. 必須設定パラメーター

必須のインストール設定パラメーターは、以下の表で説明されています。

Expand
表22.114 必須パラメーター
パラメーター説明

apiVersion

install-config.yaml コンテンツの API バージョン。現在のバージョンは v1 です。インストールプログラムは、古い API バージョンもサポートしている場合があります。

文字列

baseDomain

クラウドプロバイダーのベースドメイン。ベースドメインは、OpenShift Container Platform クラスターコンポーネントへのルートを作成するために使用されます。クラスターの完全な DNS 名は、baseDomain<metadata.name>.<baseDomain> 形式を使用する metadata.name パラメーターの値の組み合わせです。

example.com などの完全修飾ドメインまたはサブドメイン名。

metadata

Kubernetes リソース ObjectMeta。ここからは name パラメーターのみが消費されます。

オブジェクト

metadata.name

クラスターの名前。クラスターの DNS レコードはすべて {{.metadata.name}}.{{.baseDomain}} のサブドメインです。

小文字いちぶハイフン (-) の文字列 (dev など)。

platform

インストールを実行する特定のプラットフォームの設定: alibabacloudawsbaremetalazuregcpibmcloudNutanixopenstackovirtpowervsvsphere、または {}platform.<platform> パラメーターに関する追加情報は、以下の表で特定のプラットフォームを参照してください。

オブジェクト

pullSecret

Red Hat OpenShift Cluster Manager からプルシークレット を取得して、Quay.io などのサービスから OpenShift Container Platform コンポーネントのコンテナーイメージをダウンロードすることを認証します。

{
   "auths":{
      "cloud.openshift.com":{
         "auth":"b3Blb=",
         "email":"you@example.com"
      },
      "quay.io":{
         "auth":"b3Blb=",
         "email":"you@example.com"
      }
   }
}
Copy to Clipboard Toggle word wrap
22.8.12.1.2. ネットワーク設定パラメーター

既存のネットワークインフラストラクチャーの要件に基づいて、インストール設定をカスタマイズできます。たとえば、クラスターネットワークの IP アドレスブロックを拡張するか、デフォルトとは異なる IP アドレスブロックを指定できます。

  • Red Hat OpenShift Networking OVN-Kubernetes ネットワークプラグインを使用する場合、IPv4 と IPv6 の両方のアドレスファミリーがサポートされます。
  • Red Hat OpenShift Networking OpenShift SDN ネットワークプラグインを使用する場合、IPv4 アドレスファミリーのみがサポートされます。

両方の IP アドレスファミリーを使用するようにクラスターを設定する場合は、次の要件を確認してください。

  • どちらの IP ファミリーも、デフォルトゲートウェイに同じネットワークインターフェイスを使用する必要があります。
  • 両方の IP ファミリーにデフォルトゲートウェイが必要です。
  • すべてのネットワーク設定パラメーターに対して、IPv4 アドレスと IPv6 アドレスを同じ順序で指定する必要があります。たとえば、以下の設定では、IPv4 アドレスは IPv6 アドレスの前に記載されます。
networking:
  clusterNetwork:
  - cidr: 10.128.0.0/14
    hostPrefix: 23
  - cidr: fd00:10:128::/56
    hostPrefix: 64
  serviceNetwork:
  - 172.30.0.0/16
  - fd00:172:16::/112
Copy to Clipboard Toggle word wrap
注記

Globalnet は、Red Hat OpenShift Data Foundation ディザスターリカバリーソリューションではサポートされていません。局地的なディザスターリカバリーのシナリオでは、各クラスター内のクラスターとサービスネットワークに重複しない範囲のプライベート IP アドレスを使用するようにしてください。

Expand
表22.115 ネットワークパラメーター
パラメーター説明

networking

クラスターのネットワークの設定。

オブジェクト

注記

インストール後に networking オブジェクトで指定したパラメーターを変更することはできません。

networking.networkType

インストールする Red Hat OpenShift Networking ネットワークプラグイン。

OpenShiftSDN または OVNKubernetes のいずれか。OpenShiftSDN は、全 Linux ネットワーク用の CNI プラグインです。OVNKubernetes は、Linux ネットワークと、Linux サーバーと Windows サーバーの両方を含む Linux ネットワークおよびハイブリッドネットワーク用の CNI プラグインです。デフォルトの値は OVNkubernetes です。

networking.clusterNetwork

Pod の IP アドレスブロック。

デフォルト値は 10.128.0.0/14 で、ホストの接頭辞は /23 です。

複数の IP アドレスブロックを指定する場合は、ブロックが重複しないようにしてください。

オブジェクトの配列。以下に例を示します。

networking:
  clusterNetwork:
  - cidr: 10.128.0.0/14
    hostPrefix: 23
Copy to Clipboard Toggle word wrap

networking.clusterNetwork.cidr

networking.clusterNetwork を使用する場合に必須です。IP アドレスブロック。

IPv4 ネットワーク

CIDR (Classless Inter-Domain Routing) 表記の IP アドレスブロック。IPv4 ブロックの接頭辞長は 0 から 32 の間になります。

networking.clusterNetwork.hostPrefix

それぞれの個別ノードに割り当てるサブネット接頭辞長。たとえば、hostPrefix23 に設定される場合、各ノードに指定の cidr から /23 サブネットが割り当てられます。hostPrefix 値の 23 は、510 (2^(32 - 23) - 2) Pod IP アドレスを提供します。

サブネット接頭辞。

デフォルト値は 23 です。

networking.serviceNetwork

サービスの IP アドレスブロック。デフォルト値は 172.30.0.0/16 です。

OpenShift SDN および OVN-Kubernetes ネットワークプラグインは、サービスネットワークの単一 IP アドレスブロックのみをサポートします。

CIDR 形式の IP アドレスブロックを持つ配列。以下に例を示します。

networking:
  serviceNetwork:
   - 172.30.0.0/16
Copy to Clipboard Toggle word wrap

networking.machineNetwork

マシンの IP アドレスブロック。

複数の IP アドレスブロックを指定する場合は、ブロックが重複しないようにしてください。

複数の IP カーネル引数を指定する場合、machineNetwork.cidr の値はプライマリーネットワークの CIDR である必要があります。

オブジェクトの配列。以下に例を示します。

networking:
  machineNetwork:
  - cidr: 10.0.0.0/16
Copy to Clipboard Toggle word wrap

networking.machineNetwork.cidr

networking.machineNetwork を使用する場合に必須です。IP アドレスブロック。libvirt と IBM Power Virtual Server を除くすべてのプラットフォームのデフォルト値は 10.0.0.0/16 です。libvirt の場合、デフォルト値は 192.168.126.0/24 です。IBM Power Virtual Server の場合、デフォルト値は 192.168.0.0/24 です。

CIDR 表記の IP ネットワークブロック。

例: 10.0.0.0/16

注記

優先される NIC が置かれている CIDR に一致する networking.machineNetwork を設定します。

22.8.12.1.3. オプションの設定パラメーター

オプションのインストール設定パラメーターは、以下の表で説明されています。

Expand
表22.116 オプションのパラメーター
パラメーター説明

additionalTrustBundle

ノードの信頼済み証明書ストアに追加される PEM でエンコードされた X.509 証明書バンドル。この信頼バンドルは、プロキシーが設定される際にも使用できます。

文字列

capabilities

オプションのコアクラスターコンポーネントのインストールを制御します。オプションのコンポーネントを無効にすることで、OpenShift Container Platform クラスターのフットプリントを削減できます。詳細は、インストール の「クラスター機能ページ」を参照してください。

文字列配列

capabilities.baselineCapabilitySet

有効にするオプション機能の初期セットを選択します。有効な値は Nonev4.11v4.12vCurrent です。デフォルト値は vCurrent です。

String

capabilities.additionalEnabledCapabilities

オプションの機能のセットを、baselineCapabilitySet で指定したものを超えて拡張します。このパラメーターで複数の機能を指定できます。

文字列配列

cpuPartitioningMode

ワークロードパーティション設定を使用して、OpenShift Container Platform サービス、クラスター管理ワークロード、およびインフラストラクチャー Pod を分離し、予約された CPU セットで実行できます。ワークロードパーティショニングはインストール中にのみ有効にすることができ、インストール後に無効にすることはできません。このフィールドはワークロードのパーティショニングを有効にしますが、特定の CPU を使用するようにワークロードを設定するわけではありません。詳細は、スケーラビリティとパフォーマンス セクションの ワークロードパーティショニング ページを参照してください。

None または AllNodes。デフォルト値は None です。

compute

コンピュートノードを設定するマシンの設定。

MachinePool オブジェクトの配列。

compute.architecture

プール内のマシンの命令セットアーキテクチャーを決定します。現在、さまざまなアーキテクチャーのクラスターはサポートされていません。すべてのプールは同じアーキテクチャーを指定する必要があります。有効な値は、amd64arm64 です。すべてのインストールオプションが 64 ビット ARM アーキテクチャーをサポートしているわけではありません。使用するインストールオプションがプラットフォームでサポートされているか確認するには、クラスターインストール方法の選択およびそのユーザー向けの準備各種プラットフォームでサポートされているインストール方法 参照してください。

String

compute.architecture

プール内のマシンの命令セットアーキテクチャーを決定します。現時点で異種クラスターはサポートされていないため、すべてのプールが同じアーキテクチャーを指定する必要があります。有効な値は s390x (デフォルト) です。

String

compute: hyperthreading:

コンピュートマシンで同時マルチスレッドまたは hyperthreading を有効/無効にするかどうか。デフォルトでは、同時スレッドはマシンのコアのパフォーマンスを上げるために有効にされます。

重要

同時スレッドを無効にする場合は、容量計画においてマシンパフォーマンスの大幅な低下が考慮に入れられていることを確認します。

Enabled または Disabled

compute.name

compute を使用する場合に必須です。マシンプールの名前。

worker

compute.platform

compute を使用する場合に必須です。このパラメーターを使用して、ワーカーマシンをホストするクラウドプロバイダーを指定します。このパラメーターの値は controlPlane.platform パラメーターの値に一致する必要があります。

alibabacloudawsazuregcpibmcloudnutanixopenstackovirtpowervsvsphere、または {}

compute.replicas

プロビジョニングするコンピュートマシン (ワーカーマシンとしても知られる) の数。

2 以上の正の整数。デフォルト値は 3 です。

featureSet

機能セットのクラスターを有効にします。機能セットは、デフォルトで有効にされない OpenShift Container Platform 機能のコレクションです。インストール中に機能セットを有効にする方法の詳細は、「機能ゲートの使用による各種機能の有効化」を参照してください。

文字列。TechPreviewNoUpgrade など、有効にする機能セットの名前。

controlPlane

コントロールプレーンを設定するマシンの設定。

MachinePool オブジェクトの配列。

controlPlane.architecture

プール内のマシンの命令セットアーキテクチャーを決定します。現在、さまざまなアーキテクチャーのクラスターはサポートされていません。すべてのプールは同じアーキテクチャーを指定する必要があります。有効な値は、amd64arm64 です。すべてのインストールオプションが 64 ビット ARM アーキテクチャーをサポートしているわけではありません。使用するインストールオプションがプラットフォームでサポートされているか確認するには、クラスターインストール方法の選択およびそのユーザー向けの準備各種プラットフォームでサポートされているインストール方法 参照してください。

String

controlPlane.architecture

プール内のマシンの命令セットアーキテクチャーを決定します。現時点で異種クラスターはサポートされていないため、すべてのプールが同じアーキテクチャーを指定する必要があります。有効な値は s390x (デフォルト) です。

String

controlPlane: hyperthreading:

コントロールプレーンマシンで同時マルチスレッドまたは hyperthreading を有効/無効にするかどうか。デフォルトでは、同時スレッドはマシンのコアのパフォーマンスを上げるために有効にされます。

重要

同時スレッドを無効にする場合は、容量計画においてマシンパフォーマンスの大幅な低下が考慮に入れられていることを確認します。

Enabled または Disabled

controlPlane.name

controlPlane を使用する場合に必須です。マシンプールの名前。

master

controlPlane.platform

controlPlane を使用する場合に必須です。このパラメーターを使用して、コントロールプレーンマシンをホストするクラウドプロバイダーを指定します。このパラメーターの値は compute.platform パラメーターの値に一致する必要があります。

alibabacloudawsazuregcpibmcloudnutanixopenstackovirtpowervsvsphere、または {}

controlPlane.replicas

プロビジョニングするコントロールプレーンマシンの数。

サポートされる値は 3 のみです (これはデフォルト値です)。

credentialsMode

Cloud Credential Operator (CCO) モード。モードを指定しないと、CCO は指定された認証情報の機能を動的に判別しようとします。この場合、複数のモードがサポートされるプラットフォームで Mint モードが優先されます。GCP で共有 Virtual Private Cloud (VPC) にインストールする場合は、credentialsModePassthrough または Manual に設定する必要があります。

注記

すべてのクラウドプロバイダーですべての CCO モードがサポートされているわけではありません。CCO モードの詳細は、Cluster Operators リファレンスCloud Credential Operator を参照してください。

注記

AWS アカウントでサービスコントロールポリシー (SCP) が有効になっている場合は、credentialsMode パラメーターを MintPassthrough または Manual に設定する必要があります。

MintPassthroughManual、または空の文字列 ("")。

imageContentSources

release-image コンテンツのソースおよびリポジトリー。

オブジェクトの配列。この表の以下の行で説明されているように、source およびオプションで mirrors が含まれます。

imageContentSources.source

imageContentSources を使用する場合に必須です。ユーザーが参照するリポジトリーを指定します (例: イメージプル仕様)。

文字列

imageContentSources.mirrors

同じイメージが含まれる可能性のあるリポジトリーを 1 つ以上指定します。

文字列の配列。

platform.aws.lbType

AWS で NLB ロードバランサータイプを設定するために必要です。有効な値は Classic または NLB です。値が指定されていない場合、インストールプログラムはデフォルトで Classic になります。インストールプログラムは、ここで指定された値をイングレスクラスター設定オブジェクトに設定します。他の Ingress コントローラーのロードバランサータイプを指定しない場合、それらはこのパラメーターに設定されたタイプを使用します。

Classic または NLBデフォルト値は Classic です。

publish

Kubernetes API、OpenShift ルートなどのクラスターのユーザーに表示されるエンドポイントをパブリッシュまたは公開する方法。

Internal または External。プライベートクラスターをデプロイするには、publishInternal に設定します。これはインターネットからアクセスできません。デフォルト値は External です。

sshKey

クラスターマシンへのアクセスを認証するための SSH キー。

注記

インストールのデバッグまたは障害復旧を実行する必要のある実稼働用の OpenShift Container Platform クラスターでは、ssh-agent プロセスが使用する SSH キーを指定します。

たとえば、sshKey: ssh-ed25519 AAAA.. です。

  1. すべてのクラウドプロバイダーですべての CCO モードがサポートされているわけではありません。CCO モードの詳細は、認証と認可 コンテンツの「クラウドプロバイダーの認証情報の管理」を参照してください。

    注記

    AWS アカウントでサービスコントロールポリシー (SCP) が有効になっている場合は、credentialsMode パラメーターを MintPassthrough または Manual に設定する必要があります。GCP で共有 Virtual Private Cloud (VPC) にインストールする場合は、credentialsModePassthrough または Manual に設定する必要があります。

    重要

    このパラメーターを Manual に設定すると、管理者レベルのシークレットを kube-system プロジェクトに保存する代替手段が有効になりますが、追加の設定手順が必要になります。詳細は、「管理者レベルのシークレットを kube-system プロジェクトに保存する代替方法」を参照してください。

22.8.12.1.4. オプションの AWS 設定パラメーター

オプションの AWS 設定パラメーターは、以下の表で説明されています。

Expand
表22.117 オプションの AWS パラメーター
パラメーター説明

compute.platform.aws.amiID

クラスターのコンピュートマシンの起動に使用される AWS AMI。これは、カスタム RHCOS AMI を必要とするリージョンに必要です。

設定した AWS リージョンに属するパブリッシュ済みまたはカスタムの RHCOS AMI。利用可能な AMI ID については、AWS インフラストラクチャーの RHCOS AMI を参照してください。

compute.platform.aws.iamRole

コンピュートマシンプールインスタンスのプロファイルに適用される既存の AWS IAM ロール。これらのフィールドを使用して命名スキームに一致させ、IAM ロール用に事前に定義されたパーミッション境界を含めることができます。定義されていない場合は、インストールプログラムは新規の IAM ロールを作成します。

有効な AWS IAM ロール名。

compute.platform.aws.rootVolume.iops

ルートボリュームに予約される 1 秒あたりの入出力操作 (IOPS)。

整数 (例: 4000)。

compute.platform.aws.rootVolume.size

ルートボリュームのサイズ (GiB)。

整数 (例: 500)。

compute.platform.aws.rootVolume.type

root ボリュームのタイプです。

有効な AWS EBS ボリュームタイプ (例: io1)。

compute.platform.aws.rootVolume.kmsKeyARN

KMS キーの Amazon リソース名 (キー ARN)。これは、ワーカーノードのオペレーティングシステムボリュームを特定の KMS キーで暗号化するために必要です。

有効な キー ID またはキー ARN

compute.platform.aws.type

コンピュートマシンの EC2 インスタンスタイプ。

有効な AWS インスタンスタイプ (例: m4.2xlarge)。次の サポートされている AWS マシンタイプの 表を参照してください。

compute.platform.aws.zones

インストールプログラムがコンピュートマシンプールのマシンを作成するアベイラビリティーゾーン。独自の VPC を指定する場合は、そのアベイラビリティーゾーンにサブネットを指定する必要があります。

YAML シーケンスus-east-1c などの有効な AWS アベイラビリティーゾーンのリスト。

compute.aws.region

インストールプログラムがコンピュートリソースを作成する AWS リージョン。

有効な AWS リージョン (例: us-east-1)。AWS CLI を使用して、選択したインスタンスタイプに基づいて利用可能なリージョンにアクセスできます。以下に例を示します。

aws ec2 describe-instance-type-offerings --filters Name=instance-type,Values=c7g.xlarge
Copy to Clipboard Toggle word wrap
重要

ARM ベースの AWS インスタンスで実行する場合は、AWS Graviton プロセッサーが利用可能なリージョンを入力するようにしてください。AWS ドキュメントの グローバルアベイラビリティー マップを参照してください。現在、AWS Graviton3 プロセッサーは一部のリージョンでのみ利用できます。

controlPlane.platform.aws.amiID

クラスターのコントロールプレーンマシンを起動するために使用される AWS AMI。これは、カスタム RHCOS AMI を必要とするリージョンに必要です。

設定した AWS リージョンに属するパブリッシュ済みまたはカスタムの RHCOS AMI。利用可能な AMI ID については、AWS インフラストラクチャーの RHCOS AMI を参照してください。

controlPlane.platform.aws.iamRole

コントロールプレーンマシンプールインスタンスのプロファイルに適用される既存の AWS IAM ロール。これらのフィールドを使用して命名スキームに一致させ、IAM ロール用に事前に定義されたパーミッション境界を含めることができます。定義されていない場合は、インストールプログラムは新規の IAM ロールを作成します。

有効な AWS IAM ロール名。

controlPlane.platform.aws.rootVolume.kmsKeyARN

KMS キーの Amazon リソース名 (キー ARN)。これは、特定の KMS キーでコントロールプレーンノードのオペレーティングシステムボリュームを暗号化するために必要です。

有効な キー ID とキー ARN

controlPlane.platform.aws.type

コントロールプレーンマシンの EC2 インスタンスタイプ。

m6i.xlarge などの有効な AWS インスタンスタイプ。次の サポートされている AWS マシンタイプの 表を参照してください。

controlPlane.platform.aws.zones

インストールプログラムがコントロールプレーンマシンプールのマシンを作成するアベイラビリティーゾーン。

YAML シーケンスus-east-1c などの有効な AWS アベイラビリティーゾーンのリスト。

controlPlane.aws.region

インストールプログラムがコントロールプレーンのリソースを作成する AWS リージョン。

有効な AWS リージョン (例: us-east-1)。

platform.aws.amiID

クラスターのすべてのマシンを起動するために使用される AWS AMI。これが設定されている場合、AMI はクラスターと同じリージョンに属する必要があります。これは、カスタム RHCOS AMI を必要とするリージョンに必要です。

設定した AWS リージョンに属するパブリッシュ済みまたはカスタムの RHCOS AMI。利用可能な AMI ID については、AWS インフラストラクチャーの RHCOS AMI を参照してください。

platform.aws.hostedZone

クラスターの既存の Route 53 プライベートホストゾーン。独自の VPC を指定する場合も、既存のホストゾーンのみを使用できます。ホストゾーンは、インストール前にユーザーによって提供される VPC に関連付けられている必要があります。また、ホストゾーンのドメインはクラスタードメインまたはクラスタードメインの親である必要があります。定義されていない場合は、インストールプログラムは新規のホストゾーンを作成します。

文字列 (例: Z3URY6TWQ91KVV)

platform.aws.serviceEndpoints.name

AWS サービスエンドポイント名。カスタムエンドポイントは、代替の AWS エンドポイントを使用する必要がある場合にのみ必要です。カスタム API エンドポイントは、EC2、S3、IAM、Elastic Load Balancing、Tagging、Route 53、および STS AWS サービスに指定できます。

有効な AWS サービスエンドポイント 名。

platform.aws.serviceEndpoints.url

AWS サービスエンドポイント URL。URL には https プロトコルを使用し、ホストは証明書を信頼する必要があります。

有効な AWS サービスエンドポイント URL。

platform.aws.userTags

インストールプログラムが、作成するすべてのリソースに対するタグとして追加するキーと値のマップ。

<key>: <value> 形式のキー値ペアなどの有効な YAML マップ。AWS タグの詳細は、AWS ドキュメントの Tagging Your Amazon EC2 Resources を参照してください。

注記

インストール時に、最大 25 個のユーザー定義タグを追加できます。残りの 25 個のタグは、OpenShift Container Platform 用に予約されています。

platform.aws.propagateUserTags

クラスター内 Operator に対し、Operator が作成する AWS リソースのタグに指定されたユーザータグを組み込むフラグ。

ブール値( true または false など)。

platform.aws.subnets

インストールプログラムによる VPC の作成を許可する代わりに VPC を指定する場合は、使用するクラスターのサブネットを指定します。サブネットは、指定する同じ machineNetwork[].cidr 範囲の一部である必要があります。

標準クラスターの場合は、各アベイラビリティーゾーンのパブリックおよびプライベートサブネットを指定します。

プライベートクラスターについては、各アベイラビリティーゾーンのプライベートサブネットを指定します。

AWS Local Zone を使用するクラスターの場合、エッジマシンプールが確実に作成されるように、AWS Local Zone のサブネットをこのリストに追加する必要があります。

有効なサブネット ID。

22.8.12.1.5. 追加の Google Cloud Platform (GCP) 設定パラメーター

追加の GCP 設定パラメーターは以下の表で説明されています。

Expand
表22.118 追加の GCP パラメーター
パラメーター説明

platform.gcp.network

クラスターをデプロイする既存 Virtual Private Cloud (VPC) の名前。クラスターを共有 VPC にデプロイする場合は、共有 VPC を含む GCP プロジェクトの名前で platform.gcp.networkProjectID を設定する必要があります。

文字列。

platform.gcp.networkProjectID

オプション:クラスターをデプロイする共有 VPC を含む GCP プロジェクトの名前。

文字列。

platform.gcp.projectID

インストールプログラムがクラスターをインストールする GCP プロジェクトの名前。

文字列。

platform.gcp.region

クラスターをホストする GCP リージョンの名前。

有効なリージョン名 (例: us-central1)

platform.gcp.controlPlaneSubnet

コントロールプレーンマシンをデプロイする既存サブネットの名前。

サブネット名。

platform.gcp.computeSubnet

コンピュートマシンをデプロイする既存サブネットの名前。

サブネット名。

platform.gcp.licenses

コンピューティングイメージに適用する必要があるライセンス URL のリスト。

重要

license パラメーターは非推奨のフィールドであり、ネストされた仮想化はデフォルトで有効になっています。このフィールドの使用は推奨されません。

ネストされた仮想化 を有効にするライセンスなど、ライセンス API で使用可能なすべてのライセンス。このパラメーターは、ビルド済みのイメージを生成するメカニズムでは使用できません。ライセンス URL を使用すると、インストールプログラムは使用する前にソースイメージをコピーする必要があります。

platform.gcp.defaultMachinePlatform.zones

インストールプログラムがマシンを作成するアベイラビリティーゾーン。

YAML シーケンスus-central1-a などの有効な GCP アベイラビリティーゾーン の一覧。

platform.gcp.defaultMachinePlatform.osDisk.diskSizeGB

ディスクのサイズ (GB 単位)。

16 GB から 65536 GB の間のサイズ

platform.gcp.defaultMachinePlatform.osDisk.diskType

GCP ディスクタイプ

デフォルトの pd-ssd または pd-standard ディスクタイプ。コントロールプレーンノードは pd-ssd ディスクタイプである必要があります。コンピュートノードはどちらのタイプでも構いません。

platform.gcp.defaultMachinePlatform.osImage.project

オプション:デフォルトで、インストールプログラムは、コントロールプレーンおよびコンピュートマシンの起動に使用される RHCOS イメージをダウンロードしてインストールします。両方のタイプのマシンで使用するインストールプログラムのカスタム RHCOS イメージの場所を指定することで、デフォルトの動作をオーバーライドできます。

文字列。イメージが置かれている GCP プロジェクトの名前。

platform.gcp.defaultMachinePlatform.osImage.name

インストールプログラムがコントロールプレーンとコンピュートマシンの起動に使用するカスタム RHCOS イメージの名前。platform.gcp.defaultMachinePlatform.osImage.project を使用する場合、このフィールドは必須です。

文字列。RHCOS イメージの名前。

platform.gcp.defaultMachinePlatform.tags

オプション:コントロールプレーンおよびコンピュートマシンに追加する別のネットワークタグ。

network-tag1 などの 1 つ以上の文字列。

platform.gcp.defaultMachinePlatform.type

コントロールプレーンおよびコンピュートマシンの GCP マシンタイプ

n1-standard-4 などの GCP マシンタイプ。

platform.gcp.defaultMachinePlatform.osDisk.encryptionKey.kmsKey.name

マシンのディスク暗号化に使用されるお客様が管理する暗号化キーの名前。

暗号化キー名。

platform.gcp.defaultMachinePlatform.osDisk.encryptionKey.kmsKey.keyRing

KMS キーが属する Key Management Service (KMS) キーリングの名前。

KMS キーリング名。

platform.gcp.defaultMachinePlatform.osDisk.encryptionKey.kmsKey.location

KMS キーリングが存在する GCP の場所

GCP の場所。

platform.gcp.defaultMachinePlatform.osDisk.encryptionKey.kmsKey.projectID

KMS キーリングが存在するプロジェクトの ID。この値は、設定されていない場合、デフォルトで platform.gcp.projectID パラメーターの値になります。

GCP プロジェクト ID

platform.gcp.defaultMachinePlatform.osDisk.encryptionKey.kmsKeyServiceAccount

コントロールプレーンおよびコンピュートマシンの暗号化要求に使用される GCP サービスアカウント。存在しない場合には、Compute Engine のデフォルトのサービスアカウントが使用されます。GCP サービスアカウントの詳細は、Google のドキュメントの service accounts を参照してください。

<service_account_name>@<project_id>.iam.gserviceaccount.com などの GCP サービスアカウントのメール。

platform.gcp.defaultMachinePlatform.secureBoot

クラスター内のすべてのマシンに Shielded VM セキュアブートを有効にするかどうか。Shielded VM には、セキュアブート、ファームウェアと整合性の監視、ルートキット保護などの追加のセキュリティープロトコルがあります。Shielded VM の詳細は、Shielded VM に関する Google のドキュメントを参照してください。

Enabled または Disabled。デフォルト値は、Disabled です。

platform.gcp.defaultMachinePlatform.confidentialCompute

クラスター内のすべてのマシンに Confidential VM を使用するかどうか。Confidential VM は処理中のデータを暗号化します。Confidential Computing の詳細は、Confidential Computing に関する Google のドキュメントを参照してください。

Enabled または Disabled。デフォルト値は、Disabled です。

platform.gcp.defaultMachinePlatform.onHostMaintenance

ソフトウェアやハードウェアの更新など、ホストメンテナンスイベント中のすべての VM の動作を指定します。Confidential VM の場合は、このパラメーターを Terminate に設定する必要があります。Confidential VM はライブ VM 移行をサポートしていません。

Terminate または Migrate。デフォルト値は、Migrate です。

controlPlane.platform.gcp.osDisk.encryptionKey.kmsKey.name

コントロールプレーンマシンのディスク暗号化に使用されるお客様が管理する暗号化キーの名前。

暗号化キー名。

controlPlane.platform.gcp.osDisk.encryptionKey.kmsKey.keyRing

コントロールプレーンマシンの場合、KMS キーが属する KMS キーリングの名前。

KMS キーリング名。

controlPlane.platform.gcp.osDisk.encryptionKey.kmsKey.location

コントロールプレーンマシンの場合、キーリングが存在する GCP の場所。KMS の場所の詳細は、Google のドキュメント Cloud KMS locations を参照してください。

キーリングの GCP の場所。

controlPlane.platform.gcp.osDisk.encryptionKey.kmsKey.projectID

コントロールプレーンマシンの場合、KMS キーリングが存在するプロジェクトの ID。設定されていない場合、この値は VM プロジェクト ID にデフォルト設定されます。

GCP プロジェクト ID

controlPlane.platform.gcp.osDisk.encryptionKey.kmsKeyServiceAccount

コントロールプレーンマシンの暗号化要求に使用される GCP サービスアカウント。存在しない場合には、Compute Engine のデフォルトのサービスアカウントが使用されます。GCP サービスアカウントの詳細は、Google のドキュメントの service accounts を参照してください。

<service_account_name>@<project_id>.iam.gserviceaccount.com などの GCP サービスアカウントのメール。

controlPlane.platform.gcp.osDisk.diskSizeGB

ディスクのサイズ (GB 単位)。この値はコントロールプレーンマシンに適用されます。

16 から 65536 までの整数。

controlPlane.platform.gcp.osDisk.diskType

コントロールプレーンマシンの GCP ディスクタイプ

コントロールプレーンマシンは、デフォルトの pd-ssd ディスクタイプを使用する必要があります。

controlPlane.platform.gcp.osImage.project

オプション:デフォルトで、インストールプログラムは、コントロールプレーンおよびコンピュートマシンの起動に使用する Red Hat Enterprise Linux CoreOS (RHCOS) イメージをダウンロードしてインストールします。コントロールプレーンマシンのみで使用するインストールプログラムのカスタム RHCOS イメージの場所を指定することで、デフォルトの動作をオーバーライドできます。

文字列。イメージが置かれている GCP プロジェクトの名前。

controlPlane.platform.gcp.osImage.name

インストールプログラムがコントロールプレーンマシンの起動に使用するカスタム RHCOS イメージの名前。controlPlane.platform.gcp.osImage.project を使用する場合、このフィールドは必須です。

文字列。RHCOS イメージの名前。

controlPlane.platform.gcp.tags

オプション:コントロールプレーンマシンに追加する別のネットワークタグ。このパラメーターを設定すると、コントロールプレーンマシンの platform.gcp.defaultMachinePlatform.tags パラメーターが上書きされます。

control-plane-tag1 などの 1 つ以上の文字列。

controlPlane.platform.gcp.type

コントロールプレーン マシンの GCP マシンタイプ。設定されている場合、このパラメーターは platform.gcp.defaultMachinePlatform.type パラメーターを上書きします。

n1-standard-4 などの GCP マシンタイプ。

controlPlane.platform.gcp.zones

インストールプログラムがコントロールプレーンマシンを作成するアベイラビリティーゾーン。

YAML シーケンスus-central1-a などの有効な GCP アベイラビリティーゾーン の一覧。

controlPlane.platform.gcp.secureBoot

コントロールプレーンマシンの Shielded VM セキュアブートを有効にするかどうか。Shielded VM には、セキュアブート、ファームウェアと整合性の監視、ルートキット保護などの追加のセキュリティープロトコルがあります。Shielded VM の詳細は、Shielded VM に関する Google のドキュメントを参照してください。

Enabled または Disabled。デフォルト値は、Disabled です。

controlPlane.platform.gcp.confidentialCompute

コントロールプレーンマシンの Confidential VM を有効にするかどうか。Confidential VM は処理中のデータを暗号化します。Confidential VM の詳細は、Confidential Computing に関する Google のドキュメントを参照してください。

Enabled または Disabled。デフォルト値は、Disabled です。

controlPlane.platform.gcp.onHostMaintenance

ソフトウェアやハードウェアの更新など、ホストメンテナンスイベント中のコントロールプレーン VM の動作を指定します。Confidential VM の場合は、このパラメーターを Terminate に設定する必要があります。Confidential VM はライブ VM 移行をサポートしていません。

Terminate または Migrate。デフォルト値は、Migrate です。

compute.platform.gcp.osDisk.encryptionKey.kmsKey.name

コントロールマシンのディスク暗号化に使用されるお客様が管理する暗号化キーの名前。

暗号化キー名。

compute.platform.gcp.osDisk.encryptionKey.kmsKey.keyRing

コンピュートマシンの場合、KMS キーが属する KMS キーリングの名前。

KMS キーリング名。

compute.platform.gcp.osDisk.encryptionKey.kmsKey.location

コンピュートマシンの場合、キーリングが存在する GCP の場所。KMS の場所の詳細は、Google のドキュメント Cloud KMS locations を参照してください。

キーリングの GCP の場所。

compute.platform.gcp.osDisk.encryptionKey.kmsKey.projectID

コンピュートマシンの場合、KMS キーリングが存在するプロジェクトの ID。設定されていない場合、この値は VM プロジェクト ID にデフォルト設定されます。

GCP プロジェクト ID

compute.platform.gcp.osDisk.encryptionKey.kmsKeyServiceAccount

コンピュートマシンの暗号化要求に使用される GCP サービスアカウント。この値が設定されていない場合には、Compute Engine のデフォルトのサービスアカウントが使用されます。GCP サービスアカウントの詳細は、Google のドキュメントの service accounts を参照してください。

<service_account_name>@<project_id>.iam.gserviceaccount.com などの GCP サービスアカウントのメール。

compute.platform.gcp.osDisk.diskSizeGB

ディスクのサイズ (GB 単位)。この値はコンピュートマシンに適用されます。

16 から 65536 までの整数。

compute.platform.gcp.osDisk.diskType

コンピュートマシンの GCP ディスクタイプ

デフォルトの pd-ssd または pd-standard ディスクタイプ。

compute.platform.gcp.osImage.project

オプション:デフォルトで、インストールプログラムはコンピュートマシンの起動に使用する RHCOS イメージをダウンロードしてインストールします。コンピュートマシンのみで使用するインストールプログラムのカスタム RHCOS イメージの場所を指定することで、デフォルトの動作をオーバーライドできます。

文字列。イメージが置かれている GCP プロジェクトの名前。

compute.platform.gcp.osImage.name

インストールプログラムがコンピュートマシンの起動に使用するカスタム RHCOS イメージの名前。compute.platform.gcp.osImage.project を使用する場合、このフィールドは必須です。

文字列。RHCOS イメージの名前。

compute.platform.gcp.tags

オプション:コンピュートマシンに追加する別のネットワークタグ。このパラメーターを設定すると、コンピュートマシンの platform.gcp.defaultMachinePlatform.tags パラメーターが上書きされます。

compute-network-tag1 などの 1 つ以上の文字列。

compute.platform.gcp.type

コンピュートマシンの GCP マシンタイプ。設定されている場合、このパラメーターは platform.gcp.defaultMachinePlatform.type パラメーターを上書きします。

n1-standard-4 などの GCP マシンタイプ。

compute.platform.gcp.zones

インストールプログラムがコンピュートマシンを作成するアベイラビリティーゾーン。

YAML シーケンスus-central1-a などの有効な GCP アベイラビリティーゾーン の一覧。

compute.platform.gcp.secureBoot

コンピュートマシン用に Shielded VM のセキュアブートを有効にするかどうか。Shielded VM には、セキュアブート、ファームウェアと整合性の監視、ルートキット保護などの追加のセキュリティープロトコルがあります。Shielded VM の詳細は、Shielded VM に関する Google のドキュメントを参照してください。

Enabled または Disabled。デフォルト値は、Disabled です。

compute.platform.gcp.confidentialCompute

コンピューティングマシンの Confidential VM を有効にするかどうか。Confidential VM は処理中のデータを暗号化します。Confidential VM の詳細は、Confidential Computing に関する Google のドキュメントを参照してください。

Enabled または Disabled。デフォルト値は、Disabled です。

compute.platform.gcp.onHostMaintenance

ソフトウェアやハードウェアの更新など、ホストメンテナンスイベント中のコンピューティング VM の動作を指定します。Confidential VM の場合は、このパラメーターを Terminate に設定する必要があります。Confidential VM はライブ VM 移行をサポートしていません。

Terminate または Migrate。デフォルト値は、Migrate です。

22.8.12.1.6. 追加の VMware vSphere 設定パラメーター

追加の VMware vSphere 設定パラメーターは以下の表で説明されています。

注記

platform.vsphere パラメーターは、表にリストされている各パラメーターの接頭辞を付けます。

Expand
表22.119 追加の VMware vSphere クラスターパラメーター
パラメーター説明
platform:
  vsphere:
Copy to Clipboard Toggle word wrap

クラスターをホストするクラウドプラットフォーム上のアカウントを説明します。パラメーターを使用してプラットフォームをカスタマイズできます。マシンプール内のコンピュートマシンとコントロールプレーンマシンに追加の設定を指定する場合、このパラメーターは必要ありません。OpenShift Container Platform クラスターに指定できる vCenter サーバーは 1 つだけです。

vSphere 設定オブジェクトのディクショナリー

platform:
  vsphere:
    apiVIPs:
Copy to Clipboard Toggle word wrap

コントロールプレーン API アクセス用に設定した仮想 IP (VIP) アドレス。

注記

このパラメーターは、installer-provisioned infrastructure にのみ適用されます。

複数の IP アドレス

platform:
  vsphere:
    diskType:
Copy to Clipboard Toggle word wrap

オプション: ディスクのプロビジョニング方法。この値が設定されていない場合、デフォルトで vSphere のデフォルトのストレージポリシーに設定されます。

有効な値は、thinthick、または eagerZeroedThick です。

platform:
  vsphere:
    failureDomains:
      region:
Copy to Clipboard Toggle word wrap

クラスターに複数の障害ドメインを定義する場合は、タグを各 vCenter データセンターにアタッチする必要があります。リージョンを定義するには、openshift-region タグカテゴリーのタグを使用します。単一の vSphere データセンター環境の場合、タグをアタッチする必要はありませんが、パラメーターに英数字の値 (例: datacenter) を入力する必要があります。

String

platform:
  vsphere:
    failureDomains:
      server:
Copy to Clipboard Toggle word wrap

クライアントが障害ドメインリソースにアクセスできるように、VMware vCenter Server の完全修飾ホスト名または IP アドレスを指定します。server ロールを vSphere vCenter サーバーの場所に適用する必要があります。

String

platform:
  vsphere:
    failureDomains:
      zone:
Copy to Clipboard Toggle word wrap

クラスターに複数の障害ドメインを定義する場合は、各 vCenter クラスターにタグをアタッチする必要があります。ゾーンを定義するには、openshift-zone タグカテゴリーのタグを使用します。単一の vSphere データセンター環境の場合、タグをアタッチする必要はありませんが、パラメーターに英数字の値 (例: cluster) を入力する必要があります。

String

platform:
  vsphere:
    failureDomains:
      topology:
        datacenter:
Copy to Clipboard Toggle word wrap

OpenShift Container Platform 仮想マシン (VM) が動作するデータセンターをリストして定義します。データセンターのリストは、vcenters フィールドで指定したデータセンターのリストと一致する必要があります。

String

platform:
  vsphere:
    failureDomains:
      topology:
        datastore:
Copy to Clipboard Toggle word wrap

障害ドメインの仮想マシンファイルを保存する vSphere データストアへのパスを指定します。datastore ロールを vSphere vCenter データストアの場所に適用する必要があります。

String

platform:
  vsphere:
    failureDomains:
      topology:
        folder:
Copy to Clipboard Toggle word wrap

オプション: ユーザーが仮想マシンを作成する既存のフォルダーの絶対パス (例: /<datacenter_name>/vm/<folder_name>/<subfolder_name>)。この値を指定しない場合、インストールプログラムは、データセンターの仮想マシンフォルダーにインフラストラクチャー ID を使用して名前が付けられる上位レベルのフォルダーを作成します。クラスターのインフラストラクチャーを提供していて、thin という名前のデフォルトの StorageClass オブジェクトを使用したくない場合は、install-config.yaml ファイルから folder パラメーターを省略できます。

String

platform:
  vsphere:
    failureDomains:
      topology:
        networks:
Copy to Clipboard Toggle word wrap

設定した仮想 IP アドレスと DNS レコードを含む vCenter インスタンス内のネットワークをリスト表示します。

String

platform:
  vsphere:
    failureDomains:
      topology:
        resourcePool:
Copy to Clipboard Toggle word wrap

オプション: このパラメーターは、インストールプログラムが仮想マシンを作成する既存のリソースプールの絶対パスを設定します (例: /<datacenter_name>/host/<cluster_name>/Resources/<resource_pool_name>/<optional_nested_resource_pool_name>)。値を指定しない場合、インストールプログラムは /<datacenter_name>/host/<cluster_name>/Resources の下のクラスターのルートにリソースをインストールします。

文字列

platform:
  vsphere:
    ingressVIPs:
Copy to Clipboard Toggle word wrap

クラスター Ingress 用に設定した仮想 IP (VIP) アドレス。

注記

このパラメーターは、installer-provisioned infrastructure にのみ適用されます。

複数の IP アドレス

platform:
  vsphere:
    vcenters:
Copy to Clipboard Toggle word wrap

サービスが vCenter サーバーと通信できるように接続の詳細を設定します。現在、単一の vCenter サーバーのみサポートされます。

vCenter 設定オブジェクトの配列。

platform:
  vsphere:
    vcenters:
      datacenters:
Copy to Clipboard Toggle word wrap

OpenShift Container Platform 仮想マシン (VM) が動作するデータセンターをリストして定義します。データセンターのリストは、failureDomains フィールドで指定されたデータセンターのリストと一致する必要があります。

文字列

platform:
  vsphere:
    vcenters:
      password:
Copy to Clipboard Toggle word wrap

vSphere ユーザーに関連付けられたパスワード。

文字列

platform:
  vsphere:
    vcenters:
      port:
Copy to Clipboard Toggle word wrap

vCenter サーバーとの通信に使用するポート番号。

整数

platform:
  vsphere:
    vcenters:
      server:
Copy to Clipboard Toggle word wrap

vCenter サーバーの完全修飾ホスト名 (FQHN) または IP アドレス。

文字列

platform:
  vsphere:
    vcenters:
      user:
Copy to Clipboard Toggle word wrap

vSphere ユーザーに関連付けられたユーザー名。

文字列

22.8.12.1.7. 非推奨の VMware vSphere 設定パラメーター

OpenShift Container Platform 4.13 では、次の vSphere 設定パラメーターが非推奨になりました。これらのパラメーターは引き続き使用できますが、インストールプログラムはこれらのパラメーターを install-config.yaml ファイルに自動的に指定しません。

次の表に、非推奨になった各 vSphere 設定パラメーターを示します。

注記

platform.vsphere パラメーターは、表にリストされている各パラメーターの接頭辞を付けます。

Expand
表22.120 非推奨の VMware vSphere クラスターパラメーター
パラメーター説明
platform:
  vsphere:
    apiVIP:
Copy to Clipboard Toggle word wrap

コントロールプレーン API のアクセス用に設定した仮想 IP (VIP) アドレス。

注記

OpenShift Container Platform 4.12 以降では、apiVIP 設定は非推奨です。代わりに、List 形式を使用して、apiVIPs 設定に値を入力します。

IP アドレス (例: 128.0.0.1)。

platform:
  vsphere:
    cluster:
Copy to Clipboard Toggle word wrap

OpenShift Container Platform クラスターをインストールする vCenter クラスター。

文字列

platform:
  vsphere:
    datacenter:
Copy to Clipboard Toggle word wrap

OpenShift Container Platform 仮想マシン (VM) が動作するデータセンターを定義します。

文字列

platform:
  vsphere:
    defaultDatastore:
Copy to Clipboard Toggle word wrap

ボリュームのプロビジョニングに使用するデフォルトデータストアの名前。

文字列

platform:
  vsphere:
    folder:
Copy to Clipboard Toggle word wrap

オプション: インストールプログラムが仮想マシンを作成する既存のフォルダーの絶対パス。この値を指定しない場合、インストールプログラムは、データセンターの仮想マシンフォルダーにインフラストラクチャー ID を使用して名前が付けられたフォルダーを作成します。

文字列 (例: /<datacenter_name>/vm/<folder_name>/<subfolder_name>)。

platform:
  vsphere:
    ingressVIP:
Copy to Clipboard Toggle word wrap

クラスター Ingress 用に設定した仮想 IP (VIP) アドレス。

注記

OpenShift Container Platform 4.12 以降では、ingressVIP 設定は非推奨です。代わりに、List 形式を使用して、ingressVIPs 設定に値を入力します。

IP アドレス (例: 128.0.0.1)。

platform:
  vsphere:
    network:
Copy to Clipboard Toggle word wrap

設定した仮想 IP アドレスおよび DNS レコードが含まれる vCenter インスタンスのネットワーク。

文字列

platform:
  vsphere:
    password:
Copy to Clipboard Toggle word wrap

vCenter ユーザー名のパスワード。

文字列

platform:
  vsphere:
    resourcePool:
Copy to Clipboard Toggle word wrap

オプション: インストールプログラムが仮想マシンを作成する既存のリソースプールの絶対パス。値を指定しない場合、インストールプログラムは /<datacenter_name>/host/<cluster_name>/Resources の下のクラスターのルートにリソースをインストールします。

文字列 (例: /<datacenter_name>/host/<cluster_name>/Resources/<resource_pool_name>/<optional_nested_resource_pool_name>)

platform:
  vsphere:
    username:
Copy to Clipboard Toggle word wrap

vCenter インスタンスに接続するために使用するユーザー名。このユーザーには、少なくとも vSphere の 静的または動的な永続ボリュームのプロビジョニング に必要なロールおよび権限がなければなりません。

文字列

platform:
  vsphere:
    vCenter:
Copy to Clipboard Toggle word wrap

vCenter サーバーの完全修飾ホスト名または IP アドレス。

文字列

22.8.12.1.8. オプションの VMware vSphere マシンプール設定パラメーター

オプションの VMware vSphere マシンプール設定パラメーターは、以下の表で説明されています。

注記

platform.vsphere パラメーターは、表にリストされている各パラメーターの接頭辞を付けます。

Expand
表22.121 オプションの VMware vSphere マシンプールパラメーター
パラメーター説明

clusterOSImage

インストールプログラムが RHCOS イメージをダウンロードする場所。ネットワークが制限された環境でインストールを実行するには、このパラメーターを設定する必要があります。

HTTP または HTTPS の URL (オプションで SHA-256 形式のチェックサムを使用)。例: https://mirror.openshift.com/images/rhcos-<version>-vmware.<architecture>.ova

osDisk.diskSizeGB

ディスクのサイズ (ギガバイト単位)。

Integer

cpus

仮想マシンを割り当てる仮想プロセッサーコアの合計数platform.vsphere.cpus の値は、platform.vsphere.coresPerSocket 値の倍数である必要があります。

Integer

coresPerSocket

仮想マシンのソケットあたりのコア数。仮想マシンの仮想ソケットの数は platform.vsphere.cpus/platform.vsphere.coresPerSocket になります。コントロールプレーンノードとワーカーノードのデフォルト値は、それぞれ 42 です。

Integer

memoryMB

仮想マシンのメモリーのサイズ (メガバイト単位)。

Integer

22.8.12.2. VMware vSphere のサンプル install-config.yaml ファイル

install-config.yaml ファイルをカスタマイズして、OpenShift Container Platform クラスターのプラットフォームに関する詳細を指定するか、必要なパラメーターの値を変更することができます。

additionalTrustBundlePolicy: Proxyonly
apiVersion: v1
baseDomain: example.com 
1

compute: 
2

- architecture: amd64
  name: <worker_node>
  platform: {}
  replicas: 0 
3

controlPlane: 
4

  architecture: amd64
  name: <parent_node>
  platform: {}
  replicas: 3 
5

metadata:
  creationTimestamp: null
  name: test 
6

networking:
---
platform:
  vsphere:
    failureDomains: 
7

    - name: <failure_domain_name>
      region: <default_region_name>
      server: <fully_qualified_domain_name>
      topology:
        computeCluster: "/<datacenter>/host/<cluster>"
        datacenter: <datacenter> 
8

        datastore: "/<datacenter>/datastore/<datastore>" 
9

        networks:
        - <VM_Network_name>
        resourcePool: "/<datacenter>/host/<cluster>/Resources/<resourcePool>" 
10

        folder: "/<datacenter_name>/vm/<folder_name>/<subfolder_name>" 
11

      zone: <default_zone_name>
    vcenters:
    - datacenters:
      - <datacenter>
      password: <password> 
12

      port: 443
      server: <fully_qualified_domain_name> 
13

      user: administrator@vsphere.local
    diskType: thin 
14

fips: false 
15

pullSecret: '{"auths":{"<local_registry>": {"auth": "<credentials>","email": "you@example.com"}}}' 
16

sshKey: 'ssh-ed25519 AAAA...' 
17

additionalTrustBundle: | 
18

  -----BEGIN CERTIFICATE-----
  ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
  -----END CERTIFICATE-----
imageContentSources: 
19

- mirrors:
  - <mirror_host_name>:<mirror_port>/<repo_name>/release
  source: <source_image_1>
- mirrors:
  - <mirror_host_name>:<mirror_port>/<repo_name>/release-images
  source: <source_image_2>
Copy to Clipboard Toggle word wrap
1
クラスターのベースドメイン。すべての DNS レコードはこのベースのサブドメインである必要があり、クラスター名が含まれる必要があります。
2 4
controlPlane セクションは単一マッピングですが、コンピュートセクションはマッピングのシーケンスになります。複数の異なるデータ構造の要件を満たすには、compute セクションの最初の行はハイフン - で始め、controlPlane セクションの最初の行はハイフンで始めることができません。両方のセクションで単一のマシンプールが定義されるため、使用されるコントロールプレーンは 1 つだけです。OpenShift Container Platform は、複数のコンピューティングプールの定義をサポートしていません。
3
replicas パラメーターの値を 0 に設定する必要があります。このパラメーターはクラスターが作成し、管理するワーカーの数を制御します。これは、user-provisioned infrastructure を使用する場合にクラスターが実行しない機能です。OpenShift Container Platform のインストールが終了する前に、クラスターが使用するワーカーマシンを手動でデプロイする必要があります。
5
クラスターに追加するコントロールプレーンマシンの数。クラスターをこの値をクラスターの etcd エンドポイント数として使用するため、値はデプロイするコントロールプレーンマシンの数に一致する必要があります。
6
DNS レコードに指定したクラスター名。
7
リージョンとゾーン間の関係を確立します。障害ドメインは、datastore オブジェクトなどの vCenter オブジェクトを使用して定義します。障害ドメインは、OpenShift Container Platform クラスターノードの vCenter の場所を定義します。
8
vSphere データセンター。
9
仮想マシンファイル、テンプレート、ISO イメージを保持する vSphere データストアへのパス。
重要

データストアクラスター内に存在する任意のデータストアのパスを指定できます。デフォルトでは、Storage vMotion はデータストアクラスターに対して自動的に有効になります。Red Hat は Storage vMotion をサポートしていないため、OpenShift Container Platform クラスターのデータ損失の問題を回避するには、Storage vMotion を無効にする必要があります。

複数のデータストアにわたって仮想マシンを指定する必要がある場合は、datastore オブジェクトを使用して、クラスターの install-config.yaml 設定ファイルで障害ドメインを指定します。詳細は、「VMware vSphere のリージョンとゾーンの有効化」を参照してください。

10
オプション: インストーラーによってプロビジョニングされるインフラストラクチャーの場合、インストールプログラムが仮想マシンを作成する既存のリソースプールの絶対パス (例: /<datacenter_name>/host/<cluster_name>/Resources/<resource_pool_name>/<optional_nested_resource_pool_name>)。値を指定しない場合、リソースはクラスターのルート /example_datacenter/host/example_cluster/Resources にインストールされます。
11
オプション: インストーラーでプロビジョニングされるインフラストラクチャーの場合、インストールプログラムが仮想マシンを作成する既存フォルダーの絶対パス (例: /<datacenter_name>/vm/<folder_name>/<subfolder_name>)。この値を指定しない場合、インストールプログラムは、データセンターの仮想マシンフォルダーにインフラストラクチャー ID を使用して名前が付けられる上位レベルのフォルダーを作成します。クラスターのインフラストラクチャーを提供していて、thin という名前のデフォルトの StorageClass オブジェクトを使用したくない場合は、install-config.yaml ファイルから folder パラメーターを省略できます。
12
vSphere ユーザーに関連付けられたパスワード。
13
vCenter サーバーの完全修飾ホスト名または IP アドレス。
重要

Cluster Cloud Controller Manager Operator は、指定されたホスト名または IP アドレスに対して接続チェックを行います。到達可能な vCenter サーバーに対して、ホスト名または IP アドレスを指定していることを確認してください。存在しない vCenter サーバーにメタデータを提供すると、クラスターのインストールはブートストラップ段階で失敗します。

14
vSphere ディスクのプロビジョニング方法。
15
FIPS モードを有効または無効にするかどうか。デフォルトでは、FIPS モードは有効にされません。FIPS モードが有効にされている場合、OpenShift Container Platform が実行される Red Hat Enterprise Linux CoreOS (RHCOS) マシンがデフォルトの Kubernetes 暗号スイートをバイパスし、代わりに RHCOS で提供される暗号モジュールを使用します。
重要

OpenShift Container Platform 4.13 は Red Hat Enterprise Linux (RHEL) 9.2 をベースにしています。FIPS 検証用に RHEL 9.2 暗号化モジュールがまだ送信されていません。詳細は、4.13 OpenShift Container Platform リリースノート の "About this release" を参照してください。

16
<local_registry> については、レジストリードメイン名と、ミラーレジストリーがコンテンツを提供するために使用するポートをオプションで指定します。例: registry.example.com または registry.example.com:5000<credentials> について、ミラーレジストリーの base64 でエンコードされたユーザー名およびパスワードを指定します。
17
Red Hat Enterprise Linux CoreOS (RHCOS) の core ユーザーのデフォルト SSH キーの公開部分。
注記

インストールのデバッグまたは障害復旧を実行する必要のある実稼働用の OpenShift Container Platform クラスターでは、ssh-agent プロセスが使用する SSH キーを指定します。

18
ミラーレジストリーに使用した証明書ファイルの内容を指定します。
19
リポジトリーのミラーリングに使用するコマンドの出力の imageContentSources セクションを指定します。

22.8.12.3. インストール時のクラスター全体のプロキシーの設定

実稼働環境では、インターネットへの直接アクセスを拒否し、代わりに HTTP または HTTPS プロキシーを使用することができます。プロキシー設定を install-config.yaml ファイルで行うことにより、新規の OpenShift Container Platform クラスターをプロキシーを使用するように設定できます。

前提条件

  • 既存の install-config.yaml ファイルがある。
  • クラスターがアクセスする必要のあるサイトを確認済みで、それらのいずれかがプロキシーをバイパスする必要があるかどうかを判別している。デフォルトで、すべてのクラスター Egress トラフィック (クラスターをホストするクラウドに関するクラウドプロバイダー API に対する呼び出しを含む) はプロキシーされます。プロキシーを必要に応じてバイパスするために、サイトを Proxy オブジェクトの spec.noProxy フィールドに追加している。

    注記

    Proxy オブジェクトの status.noProxy フィールドには、インストール設定の networking.machineNetwork[].cidrnetworking.clusterNetwork[].cidr、および networking.serviceNetwork[] フィールドの値が設定されます。

    Amazon Web Services (AWS)、Google Cloud Platform (GCP)、Microsoft Azure、および Red Hat OpenStack Platform (RHOSP) へのインストールの場合、Proxy オブジェクトの status.noProxy フィールドには、インスタンスメタデータのエンドポイント (169.254.169.254) も設定されます。

手順

  1. install-config.yaml ファイルを編集し、プロキシー設定を追加します。以下に例を示します。

    apiVersion: v1
    baseDomain: my.domain.com
    proxy:
      httpProxy: http://<username>:<pswd>@<ip>:<port> 
    1
    
      httpsProxy: https://<username>:<pswd>@<ip>:<port> 
    2
    
      noProxy: ec2.<aws_region>.amazonaws.com,elasticloadbalancing.<aws_region>.amazonaws.com,s3.<aws_region>.amazonaws.com 
    3
    
    additionalTrustBundle: | 
    4
    
        -----BEGIN CERTIFICATE-----
        <MY_TRUSTED_CA_CERT>
        -----END CERTIFICATE-----
    additionalTrustBundlePolicy: <policy_to_add_additionalTrustBundle> 
    5
    Copy to Clipboard Toggle word wrap
    1
    クラスター外の HTTP 接続を作成するために使用するプロキシー URL。URL スキームは http である必要があります。
    2
    クラスター外で HTTPS 接続を作成するために使用するプロキシー URL。
    3
    プロキシーから除外するための宛先ドメイン名、IP アドレス、または他のネットワーク CIDR のコンマ区切りのリスト。サブドメインのみと一致するように、ドメインの前に . を付けます。たとえば、.y.comx.y.com に一致しますが、y.com には一致しません。* を使用し、すべての宛先のプロキシーをバイパスします。Amazon EC2Elastic Load Balancing、および S3 VPC エンドポイントを VPC に追加した場合は、これらのエンドポイントを noProxy フィールドに追加する必要があります。vCenter の IP アドレスと、そのマシンに使用する IP 範囲を含める必要があります。
    4
    指定されている場合、インストールプログラムは HTTPS 接続のプロキシーに必要な 1 つ以上の追加の CA 証明書が含まれる user-ca-bundle という名前の設定マップを openshift-config namespace に生成します。次に Cluster Network Operator は、これらのコンテンツを Red Hat Enterprise Linux CoreOS (RHCOS) 信頼バンドルにマージする trusted-ca-bundle 設定マップを作成し、この設定マップは Proxy オブジェクトの trustedCA フィールドで参照されます。additionalTrustBundle フィールドは、プロキシーのアイデンティティー証明書が RHCOS 信頼バンドルからの認証局によって署名されない限り必要になります。
    5
    オプション: trustedCA フィールドの user-ca-bundle 設定マップを参照する Proxy オブジェクトの設定を決定するポリシー。許可される値は Proxyonly および Always です。Proxyonly を使用して、http/https プロキシーが設定されている場合にのみ user-ca-bundle 設定マップを参照します。Always を使用して、常に user-ca-bundle 設定マップを参照します。デフォルト値は Proxyonly です。
    注記

    インストールプログラムは、プロキシーの readinessEndpoints フィールドをサポートしません。

    注記

    インストーラーがタイムアウトした場合は、インストーラーの wait-for コマンドを使用してデプロイメントを再起動してからデプロイメントを完了します。以下に例を示します。

    $ ./openshift-install wait-for install-complete --log-level debug
    Copy to Clipboard Toggle word wrap
  2. ファイルを保存し、OpenShift Container Platform のインストール時にこれを参照します。

インストールプログラムは、指定の install-config.yaml ファイルのプロキシー設定を使用する cluster という名前のクラスター全体のプロキシーを作成します。プロキシー設定が指定されていない場合、cluster Proxy オブジェクトが依然として作成されますが、これには spec がありません。

注記

cluster という名前の Proxy オブジェクトのみがサポートされ、追加のプロキシーを作成することはできません。

22.8.12.4. VMware vCenter のリージョンとゾーンの設定

デフォルトのインストール設定ファイルを変更して、単一の VMware vCenter で実行される複数の vSphere データセンターに OpenShift Container Platform クラスターをデプロイできるようにします。

OpenShift Container Platform の以前のリリースのデフォルトの install-config.yaml ファイル設定は非推奨になりました。非推奨のデフォルト設定を引き続き使用できますが、openshift-installer により、設定ファイル内の非推奨のフィールドの使用を示す警告メッセージが表示されます。

重要

この例では、govc コマンドを使用します。govc コマンドは、VMware から入手できるオープンソースコマンドです。Red Hat からは入手できません。Red Hat サポートチームは govc コマンドを保守していません。govc のダウンロードとインストールの手順については、VMware ドキュメント Web サイトを参照してください。

前提条件

  • 既存の install-config.yaml インストール設定ファイルがあります。

    重要

    VMware vCenter Server のデータセンターオブジェクトをプロビジョニングできるように、OpenShift Container Platform クラスターに少なくとも 1 つの障害ドメインを指定する必要があります。異なるデータセンター、クラスター、データストア、その他のコンポーネントに仮想マシンノードをプロビジョニングする必要がある場合は、複数の障害ドメインを指定することを検討してください。リージョンとゾーンを有効にするには、OpenShift Container Platform クラスターに複数の障害ドメインを定義する必要があります。

手順

  1. 次の govc コマンドラインツールコマンドを入力して、openshift-region および openshift-zone vCenter タグカテゴリーを作成します。

    重要

    openshift-region および openshift-zone vCenter タグカテゴリーに異なる名前を指定すると、OpenShift Container Platform クラスターのインストールは失敗します。

    $ govc tags.category.create -d "OpenShift region" openshift-region
    Copy to Clipboard Toggle word wrap
    $ govc tags.category.create -d "OpenShift zone" openshift-zone
    Copy to Clipboard Toggle word wrap
  2. クラスターをデプロイする各リージョン vSphere データセンターのリージョンタグを作成するには、ターミナルで次のコマンドを入力します。

    $ govc tags.create -c <region_tag_category> <region_tag>
    Copy to Clipboard Toggle word wrap
  3. クラスターをデプロイする vSphere クラスターごとにゾーンタグを作成するには、次のコマンドを入力します。

    $ govc tags.create -c <zone_tag_category> <zone_tag>
    Copy to Clipboard Toggle word wrap
  4. 次のコマンドを入力して、各 vCenter データセンターオブジェクトにリージョンタグをアタッチします。

    $ govc tags.attach -c <region_tag_category> <region_tag_1> /<datacenter_1>
    Copy to Clipboard Toggle word wrap
  5. 次のコマンドを入力して、各 vCenter データセンターオブジェクトにゾーンタグをアタッチします。

    $ govc tags.attach -c <zone_tag_category> <zone_tag_1> /<datacenter_1>/host/vcs-mdcnc-workload-1
    Copy to Clipboard Toggle word wrap
  6. インストールプログラムが含まれるディレクトリーに移動し、選択したインストール要件に従ってクラスターデプロイメントを初期化します。

vSphere センターで定義された複数のデータセンターを含むサンプル install-config.yaml ファイル

---
compute:
---
  vsphere:
      zones:
        - "<machine_pool_zone_1>"
        - "<machine_pool_zone_2>"
---
controlPlane:
---
vsphere:
      zones:
        - "<machine_pool_zone_1>"
        - "<machine_pool_zone_2>"
---
platform:
  vsphere:
    vcenters:
---
    datacenters:
      - <datacenter1_name>
      - <datacenter2_name>
    failureDomains:
    - name: <machine_pool_zone_1>
      region: <region_tag_1>
      zone: <zone_tag_1>
      server: <fully_qualified_domain_name>
      topology:
        datacenter: <datacenter1>
        computeCluster: "/<datacenter1>/host/<cluster1>"
        networks:
        - <VM_Network1_name>
        datastore: "/<datacenter1>/datastore/<datastore1>"
        resourcePool: "/<datacenter1>/host/<cluster1>/Resources/<resourcePool1>"
        folder: "/<datacenter1>/vm/<folder1>"
    - name: <machine_pool_zone_2>
      region: <region_tag_2>
      zone: <zone_tag_2>
      server: <fully_qualified_domain_name>
      topology:
        datacenter: <datacenter2>
        computeCluster: "/<datacenter2>/host/<cluster2>"
        networks:
        - <VM_Network2_name>
        datastore: "/<datacenter2>/datastore/<datastore2>"
        resourcePool: "/<datacenter2>/host/<cluster2>/Resources/<resourcePool2>"
        folder: "/<datacenter2>/vm/<folder2>"
---
Copy to Clipboard Toggle word wrap

22.8.13. Kubernetes マニフェストおよび Ignition 設定ファイルの作成

一部のクラスター定義ファイルを変更し、クラスターマシンを手動で起動する必要があるため、クラスターがマシンを設定するために必要な Kubernetes マニフェストと Ignition 設定ファイルを生成する必要があります。

インストール設定ファイルは Kubernetes マニフェストに変換されます。マニフェストは Ignition 設定ファイルにラップされます。これはクラスターマシンを設定するために後で使用されます。

重要
  • OpenShift Container Platform のインストールプログラムが生成する Ignition 設定ファイルには、24 時間が経過すると期限切れになり、その後に更新される証明書が含まれます。証明書を更新する前にクラスターが停止し、24 時間経過した後にクラスターを再起動すると、クラスターは期限切れの証明書を自動的に復元します。例外として、kubelet 証明書を回復するために保留状態の node-bootstrapper 証明書署名要求 (CSR) を手動で承認する必要があります。詳細は、コントロールプレーン証明書の期限切れの状態からのリカバリー に関するドキュメントを参照してください。
  • 24 時間証明書はクラスターのインストール後 16 時間から 22 時間にローテーションするため、Ignition 設定ファイルは、生成後 12 時間以内に使用することを推奨します。12 時間以内に Ignition 設定ファイルを使用することにより、インストール中に証明書の更新が実行された場合のインストールの失敗を回避できます。
注記

マニフェストおよび Ignition ファイルを生成するインストールプログラムはアーキテクチャー固有であり、クライアントイメージミラー から取得できます。インストールプログラムの Linux バージョンは s390x でのみ実行されます。このインストーラープログラムは、Mac OS バージョンとしても利用できます。

前提条件

  • OpenShift Container Platform インストールプログラムを取得していること。ネットワークが制限されたインストールでは、これらのファイルがミラーホスト上に置かれます。
  • install-config.yaml インストール設定ファイルを作成していること。

手順

  1. OpenShift Container Platform のインストールプログラムが含まれるディレクトリーに切り替え、クラスターの Kubernetes マニフェストを生成します。

    $ ./openshift-install create manifests --dir <installation_directory> 
    1
    Copy to Clipboard Toggle word wrap
    1
    <installation_directory> については、作成した install-config.yaml ファイルが含まれるインストールディレクトリーを指定します。
  2. コントロールプレーンマシンを定義する Kubernetes マニフェストファイルを削除します。

    $ rm -f <installation_directory>/openshift/99_openshift-cluster-api_master-machines-*.yaml
    Copy to Clipboard Toggle word wrap

    これらのファイルを削除することで、クラスターがコントロールプレーンマシンを自動的に生成するのを防ぐことができます。

  3. コントロールプレーンマシンセットを定義する Kubernetes マニフェストファイルを削除します。

    $ rm -f <installation_directory>/openshift/99_openshift-machine-api_master-control-plane-machine-set.yaml
    Copy to Clipboard Toggle word wrap
  4. オプション: クラスターでコンピュートマシンをプロビジョニングする必要がない場合は、ワーカーマシンを定義する Kubernetes マニフェストファイルを削除します。

    $ rm -f <installation_directory>/openshift/99_openshift-cluster-api_worker-machineset-*.yaml
    Copy to Clipboard Toggle word wrap

    ワーカーマシンは独自に作成し、管理するため、これらのマシンを初期化する必要はありません。

  5. コントロールプレーンマシンおよびコンピュートマシンセットを定義する Kubernetes マニフェストファイルを削除します。

    $ rm -f openshift/99_openshift-cluster-api_master-machines-*.yaml openshift/99_openshift-cluster-api_worker-machineset-*.yaml
    Copy to Clipboard Toggle word wrap

    これらのリソースを独自に作成および管理するため、それらを初期化する必要はありません。

    • コンピュートマシンセットファイルを保存して、マシン API を使用してコンピュートマシンを作成することができますが、環境に合わせてそれらへの参照を更新する必要があります。

      警告

      3 ノードクラスターをインストールしている場合は、以下の手順を省略してコントロールプレーンノードをスケジュール対象にします。

      重要

      コントロールプレーンノードをデフォルトのスケジュール不可からスケジュール可に設定するには、追加のサブスクリプションが必要です。これは、コントロールプレーンノードがコンピュートノードになるためです。

  6. <installation_directory>/manifests/cluster-scheduler-02-config.yml Kubernetes マニフェストファイルの mastersSchedulable パラメーターが false に設定されていることを確認します。この設定により、Pod がコントロールプレーンマシンにスケジュールされなくなります。

    1. <installation_directory>/manifests/cluster-scheduler-02-config.yml ファイルを開きます。
    2. mastersSchedulable パラメーターを見つけ、これが false に設定されていることを確認します。
    3. ファイルを保存し、終了します。
  7. オプション: Ingress Operator を DNS レコードを作成するよう設定する必要がない場合は、<installation_directory>/manifests/cluster-dns-02-config.yml DNS 設定ファイルから privateZone および publicZone セクションを削除します。

    apiVersion: config.openshift.io/v1
    kind: DNS
    metadata:
      creationTimestamp: null
      name: cluster
    spec:
      baseDomain: example.openshift.com
      privateZone: 
    1
    
        id: mycluster-100419-private-zone
      publicZone: 
    2
    
        id: example.openshift.com
    status: {}
    Copy to Clipboard Toggle word wrap
    1 2
    このセクションを完全に削除します。

    これを実行する場合、後のステップで Ingress DNS レコードを手動で追加する必要があります。

  8. オプション: クラウドのアイデンティティーおよびアクセス管理 (IAM) ロールを手動で作成した場合は、次のコマンドを実行して、リリースイメージ内で TechPreviewNoUpgrade アノテーションを持つ CredentialsRequest オブジェクトを見つけます。

    $ oc adm release extract quay.io/openshift-release-dev/ocp-release:4.y.z-x86_64 --credentials-requests --cloud=<platform_name>
    Copy to Clipboard Toggle word wrap

    出力例

    0000_30_capi-operator_00_credentials-request.yaml:  release.openshift.io/feature-set: TechPreviewNoUpgrade
    Copy to Clipboard Toggle word wrap

    重要

    リリースイメージには、TechPreviewNoUpgrade 機能セットによって有効になるテクノロジープレビュー機能の CredentialsRequest オブジェクトが含まれています。これらのオブジェクトは、release.openshift.io/feature-set: TechPreviewNoUpgrade アノテーションを使用して識別できます。

    • これらの機能を使用していない場合は、これらのオブジェクトのシークレットを作成しないでください。使用していないテクノロジープレビュー機能のシークレットを作成すると、インストールが失敗する可能性があります。
    • これらの機能のいずれかを使用している場合は、対応するオブジェクトのシークレットを作成する必要があります。
    1. TechPreviewNoUpgrade アノテーションを持つすべての CredentialsRequest オブジェクトを削除します。
  9. Ignition 設定ファイルを作成するには、インストールプログラムが含まれるディレクトリーから以下のコマンドを実行します。

    $ ./openshift-install create ignition-configs --dir <installation_directory> 
    1
    Copy to Clipboard Toggle word wrap
    1
    <installation_directory> については、同じインストールディレクトリーを指定します。

    Ignition 設定ファイルは、インストールディレクトリー内のブートストラップ、コントロールプレーン、およびコンピュートノード用に作成されます。kubeadmin-password および kubeconfig ファイルが ./<installation_directory>/auth ディレクトリーに作成されます。

    .
    ├── auth
    │   ├── kubeadmin-password
    │   └── kubeconfig
    ├── bootstrap.ign
    ├── master.ign
    ├── metadata.json
    └── worker.ign
    Copy to Clipboard Toggle word wrap

22.8.14. インフラストラクチャー名の抽出

Ignition 設定ファイルには、VMware Cloud on AWS (VMC) でクラスターを一意に識別するために使用できる一意のクラスター ID が含まれます。インフラストラクチャー名は、OpenShift Container Platform のインストール時に適切な VMC リソースを見つけるためにも使用されます。提供される {cp-template} テンプレートにはこのインフラストラクチャー名の参照が含まれるため、これを抽出する必要があります。

Ignition 設定ファイルには、VMware Cloud on AWS でクラスターを一意に識別するために使用できる一意のクラスター ID が含まれます。クラスター ID を仮想マシンフォルダーの名前として使用する予定がある場合、これを抽出する必要があります。

前提条件

  • OpenShift Container Platform インストールプログラム、およびクラスターのプルシークレットを取得している。
  • クラスターの Ignition 設定ファイルを生成している。
  • jq パッケージをインストールしている。

手順

  • Ignition 設定ファイルメタデータからインフラストラクチャー名を抽出し、表示するには、以下のコマンドを実行します。

    $ jq -r .infraID <installation_directory>/metadata.json 
    1
    Copy to Clipboard Toggle word wrap
    1
    <installation_directory> には、インストールファイルを保存したディレクトリーへのパスを指定します。

    出力例

    openshift-vw9j6 
    1
    Copy to Clipboard Toggle word wrap

    1
    このコマンドの出力はクラスター名とランダムな文字列です。

22.8.15. RHCOS のインストールおよび OpenShift Container Platform ブートストラッププロセスの開始

OpenShift Container Platform を VMware vSphere の user-provisioned infrastructure にインストールするには、Red Hat Enterprise Linux CoreOS (RHCOS) を vSphere ホストにインストールする必要があります。RHCOS のインストール時に、インストールするマシンのタイプについて OpenShift Container Platform インストールプログラムによって生成された Ignition 設定ファイルを指定する必要があります。適切なネットワーク、DNS、および負荷分散インフラストラクチャーが設定されている場合、OpenShift Container Platform ブートストラッププロセスは RHCOS マシンの再起動後に自動的に開始されます。

前提条件

  • クラスターの Ignition 設定ファイルを取得している。
  • お使いのコンピューターからアクセスでき、作成するマシンがアクセスできる HTTP サーバーへのアクセス権がある。
  • vSphere クラスター を作成している。

手順

  1. <installation_directory>/bootstrap.ign という名前のインストールプログラムが作成したブートストラップ Ignition 設定ファイルを HTTP サーバーにアップロードします。このファイルの URL をメモします。
  2. ブートストラップノードの以下の二次的な Ignition 設定ファイルを、<installation_directory>/merge-bootstrap.ign としてコンピューターに保存します。

    {
      "ignition": {
        "config": {
          "merge": [
            {
              "source": "<bootstrap_ignition_config_url>", 
    1
    
              "verification": {}
            }
          ]
        },
        "timeouts": {},
        "version": "3.2.0"
      },
      "networkd": {},
      "passwd": {},
      "storage": {},
      "systemd": {}
    }
    Copy to Clipboard Toggle word wrap
    1
    ホストしているブートストラップの Ignition 設定ファイルの URL を指定します。

    ブートストラップマシンの仮想マシン (VM) を作成する場合に、この Ignition 設定ファイルを使用します。

  3. インストールプログラムにより作成された次の Ignition 設定ファイルを見つけます。

    • <installation_directory>/master.ign
    • <installation_directory>/worker.ign
    • <installation_directory>/merge-bootstrap.ign
  4. Ignition 設定ファイルを Base64 エンコーディングに変換します。この手順の後半で、これらのファイルを VM の追加の設定パラメーター guestinfo.ignition.config.data に追加する必要があります。

    たとえば、Linux オペレーティングシステムを使用する場合、base64 コマンドを使用してファイルをエンコードできます。

    $ base64 -w0 <installation_directory>/master.ign > <installation_directory>/master.64
    Copy to Clipboard Toggle word wrap
    $ base64 -w0 <installation_directory>/worker.ign > <installation_directory>/worker.64
    Copy to Clipboard Toggle word wrap
    $ base64 -w0 <installation_directory>/merge-bootstrap.ign > <installation_directory>/merge-bootstrap.64
    Copy to Clipboard Toggle word wrap
    重要

    インストールの完了後にコンピュートマシンをさらにクラスターに追加する予定の場合には、これらのファイルを削除しないでください。

  5. RHCOS OVA イメージを取得します。イメージは、RHCOS イメージミラー ページから入手できます。

    重要

    RHCOS イメージは OpenShift Container Platform の各リリースごとに変更されない可能性があります。インストールする OpenShift Container Platform バージョンと等しいか、それ以下のバージョンの内で最も新しいバージョンのイメージをダウンロードする必要があります。利用可能な場合は、OpenShift Container Platform バージョンに一致するイメージのバージョンを使用します。

    ファイル名には、rhcos-vmware.<architecture>.ova 形式の OpenShift Container Platform のバージョン番号が含まれます。

  6. vSphere クライアントで、仮想マシンを保管するフォルダーをデータセンターに作成します。

    1. VMs and Templates ビューをクリックします。
    2. データセンターの名前を右クリックします。
    3. New Folder New VM and Template Folder をクリックします。
    4. 表示されるウィンドウで、フォルダー名を入力します。install-config.yaml ファイルに既存のフォルダーを指定していない場合には、インフラストラクチャー ID と同じ名前を持つフォルダーを作成します。このフォルダー名を使用すると、vCenter はその Workspace 設定に適した場所にあるストレージを動的にプロビジョニングします。
  7. vSphere クライアントで、OVA イメージのテンプレートを作成してから、必要に応じてテンプレートのクローンを作成します。

    注記

    以下の手順では、テンプレートを作成してから、すべてのクラスターマシンのテンプレートのクローンを作成します。次に、仮想マシンのプロビジョニング時にクローン作成されたマシンタイプの Ignition 設定ファイルの場所を指定します。

    1. Hosts and Clusters タブで、クラスターの名前を右クリックし、Deploy OVF Template を選択します。
    2. Select an OVF タブで、ダウンロードした RHCOS OVA ファイルの名前を指定します。
    3. Select a name and folder タブで、Template-RHCOS などの Virtual machine name をテンプレートに設定します。vSphere クラスターの名前をクリックし、直前の手順で作成したフォルダーを選択します。
    4. Select a compute resource タブで、vSphere クラスターの名前をクリックします。
    5. Select storage タブで、仮想マシンのストレージオプションを設定します。

      • ストレージ設定に応じて、Thin Provision または Thick Provision を選択します。
      • install-config.yaml ファイルで指定したデータストアを選択します。
      • 仮想マシンを暗号化する場合は、Encrypt this virtual machine を選択します。詳細は、「仮想マシンを暗号化するための要件」セクションを参照してください。
    6. Select network タブで、クラスターに設定したネットワークを指定します (ある場合)。
    7. OVF テンプレートの作成時には、Customize template タブで値を指定したり、テンプレートに追加の設定をしないようにしてください。

      重要

      元の仮想マシンテンプレートは開始しないでください。仮想マシンテンプレートは停止した状態でなければなりません。また、新規 RHCOS マシン用にクローン作成する必要があります。仮想マシンテンプレートを起動すると、仮想マシンテンプレートがプラットフォームの仮想マシンとして設定されるので、これをコンピュートマシンセットで設定を適用できるテンプレートとして使用できなくなります。

  8. 必要に応じて、仮想マシンテンプレートで設定された仮想ハードウェアバージョンを更新します。詳細は、VMware ドキュメントの Upgrading a virtual machine to the latest hardware version を参照してください。

    重要

    必要に応じて、仮想マシンを作成する前に、仮想マシンテンプレートのハードウェアバージョンをバージョン 15 に更新することが推奨されます。vSphere で実行しているクラスターノード用にハードウェアバージョン 13 を使用することは非推奨となりました。インポートしたテンプレートがハードウェアバージョン 13 にデフォルト設定されている場合は、仮想マシンテンプレートをハードウェアバージョン 15 にアップグレードする前に、ESXi ホストが 6.7U3 以降を使用していることを確認する必要があります。vSphere のバージョンが 6.7U3 未満の場合は、このアップグレード手順を省略できます。ただし、OpenShift Container Platform の今後のバージョンでは、ハードウェアバージョン 13 および vSphere バージョンのサポートが 6.7U3 未満になる予定です。

  9. テンプレートがデプロイされた後に、マシンの仮想マシンをクラスターにデプロイします。

    1. テンプレートの名前を右クリックし、Clone Clone to Virtual Machine をクリックします。
    2. Select a name and folder タブで、仮想マシンの名前を指定します。control-plane-0 または compute-1 などのように、マシンタイプを名前に含めることができるかもしれません。

      注記

      vSphere インストール全体のすべての仮想マシン名が一意であることを確認してください。

    3. Select a name and folder タブで、クラスターに作成したフォルダーの名前を選択します。
    4. Select a compute resource タブで、データセンター内のホストの名前を選択します。
    5. Select clone options で、Customize this virtual machine's hardware を選択します。
    6. Customize hardware タブで、Advanced Parameters をクリックします。

      重要

      次の設定の提案は、例としてのみ使用されます。クラスター管理者は、クラスターに課せられるリソース需要に従ってリソースを設定する必要があります。クラスターリソースを最適に管理するには、クラスターのルートリソースプールからリソースプールを作成することを検討してください。

      • オプション: vSphere でデフォルトの DHCP ネットワークを上書きします。静的 IP ネットワークを有効にするには、以下を実行します。

        • 静的 IP 設定を行います。

          コマンドの例

          $ export IPCFG="ip=<ip>::<gateway>:<netmask>:<hostname>:<iface>:none nameserver=srv1 [nameserver=srv2 [nameserver=srv3 [...]]]"
          Copy to Clipboard Toggle word wrap

          コマンドの例

          $ export IPCFG="ip=192.168.100.101::192.168.100.254:255.255.255.0:::none nameserver=8.8.8.8"
          Copy to Clipboard Toggle word wrap

        • vSphere で OVA から仮想マシンを起動する前に、guestinfo.afterburn.initrd.network-kargs プロパティーを設定します。

          コマンドの例

          $ govc vm.change -vm "<vm_name>" -e "guestinfo.afterburn.initrd.network-kargs=${IPCFG}"
          Copy to Clipboard Toggle word wrap

      • Attribute フィールドおよび Values フィールドにデータを指定して、以下の設定パラメーター名と値を追加します。作成するパラメーターごとに Add ボタンを選択してください。

        • guestinfo.ignition.config.data: この手順で先程作成した、base-64 でエンコードされたファイルを見つけて、このマシンタイプに関する base-64 でエンコードされた Ignition 設定ファイルの内容を貼り付けます。
        • guestinfo.ignition.config.data.encoding: base64 を指定します。
        • disk.EnableUUID: TRUE を指定します。
        • stealclock.enable: このパラメーターが定義されていない場合は、追加して TRUE を指定します。
        • クラスターの root リソースプールから子リソースプールを作成します。この子リソースプールでリソースの割り当てを実行します。
    7. Customize hardware タブの Virtual Hardware パネルで、必要に応じて指定した値を変更します。RAM、CPU、およびディスクストレージの量がマシンタイプの最小要件を満たすことを確認してください。
    8. 残りの設定手順を完了します。Finish ボタンをクリックして、クローン作成操作を完了します。
    9. Virtual Machines タブで仮想マシンを右クリックし、Power Power On を選択します。
    10. コンソール出力をチェックして、Ignition が実行されたことを確認します。

      コマンドの例

      Ignition: ran on 2022/03/14 14:48:33 UTC (this boot)
      Ignition: user-provided config was applied
      Copy to Clipboard Toggle word wrap

次のステップ

  • 各マシンごとに先の手順に従って、クラスターの残りのマシンを作成します。

    重要

    この時点でブートストラップおよびコントロールプレーンマシンを作成する必要があります。一部の Pod はデフォルトでコンピュートマシンにデプロイされるため、クラスターのインストール前に、2 つ以上のコンピュートマシンを作成します。

22.8.16. vSphere でのコンピュートマシンのクラスターへの追加

コンピュートマシンを VMware vSphere の user-provisioned OpenShift Container Platform クラスターに追加することができます。

vSphere テンプレートを OpenShift Container Platform クラスターにデプロイした後に、そのクラスター内のマシンの仮想マシン (VM) をデプロイできます。

前提条件

  • コンピュートマシンの base64 でエンコードされた Ignition ファイルを取得します。
  • クラスター用に作成した vSphere テンプレートにアクセスできる必要があります。

手順

  1. テンプレートの名前を右クリックし、Clone Clone to Virtual Machine をクリックします。
  2. Select a name and folder タブで、仮想マシンの名前を指定します。compute-1 などのように、マシンタイプを名前に含めることができるかもしれません。

    注記

    vSphere インストール全体のすべての仮想マシン名が一意であることを確認してください。

  3. Select a name and folder タブで、クラスターに作成したフォルダーの名前を選択します。
  4. Select a compute resource タブで、データセンター内のホストの名前を選択します。
  5. Select storage タブで、設定ファイルとディスクファイル用のストレージを選択します。
  6. Select clone options で、Customize this virtual machine's hardware を選択します。
  7. Customize hardware タブで、Advanced Parameters をクリックします。

    • Attribute フィールドおよび Values フィールドにデータを指定して、以下の設定パラメーター名と値を追加します。作成するパラメーターごとに Add ボタンを選択してください。

      • guestinfo.ignition.config.data: このマシンファイルの base64 でエンコードしたコンピュート Ignition 設定ファイルの内容を貼り付けます。
      • guestinfo.ignition.config.data.encoding: base64 を指定します。
      • disk.EnableUUID: TRUE を指定します。
  8. Customize hardware タブの Virtual Hardware パネルで、必要に応じて指定した値を変更します。RAM、CPU、およびディスクストレージの量がマシンタイプの最小要件を満たすことを確認してください。多くのネットワークが存在する場合は、Add New Device > Network Adapter を選択し、New Network メニュー項目に表示されるフィールドにネットワーク情報を入力します。
  9. 残りの設定手順を完了します。Finish ボタンをクリックして、クローン作成操作を完了します。
  10. Virtual Machines タブで仮想マシンを右クリックし、Power Power On を選択します。

次のステップ

  • 継続してクラスター用の追加のコンピュートマシンを作成します。

22.8.17. ディスクパーティション設定

ほとんどの場合、データパーティションは、最初に別のオペレーティングシステムをインストールするのではなく、RHCOS をインストールして作成されます。この場合、OpenShift Container Platform インストーラーでは、ディスクパーティションの設定が許可されます。

ただし、以下は、OpenShift Container Platform ノードのインストール時に、デフォルトのパーティション設定を上書きするために介入が必要と思われる 2 つのケースになります。

  • 別個のパーティションの作成: 空のディスクへのグリーンフィールドインストールの場合は、別のストレージをパーティションに追加する必要がある場合があります。これは、/var または /var/lib/etcd などの /var のサブディレクトリー (両方ではない) を個別のパーティションとして作成する場合にのみ正式にサポートされます。

    重要

    ディスクサイズが 100 GB を超える場合、特にディスクサイズが 1 TB を超える場合は、別の /var パーティションを作成します。詳細は、「個別の /var パーティションの作成」およびこちらの Red Hat ナレッジベースの記事 を参照してください。

    重要

    Kubernetes は 2 つのファイルシステムパーティションのみをサポートします。元の設定に複数のパーティションを追加すると、Kubernetes はそれらをすべて監視できません。

  • 既存のパーティションの保持: ブラウンフィールドインストールで、既存のノードに OpenShift Container Platform を再インストールし、以前のオペレーティングシステムからのデータパーティションを維持する必要がある場合、既存のデータパーティションを保持できる coreos-installer へのブート引数とオプションの両方があります。

個別の /var パーティションの作成

一般的に、OpenShift Container Platform のディスクパーティション設定は、インストーラーに任せる必要があります。ただし、拡張予定のファイルシステムの一部に個別のパーティションの作成が必要となる場合もあります。

OpenShift Container Platform は、ストレージを /var パーティションまたは /var のサブディレクトリーのいずれかに割り当てる単一のパーティションの追加をサポートします。以下に例を示します。

  • /var/lib/containers: イメージやコンテナーがシステムにさらに追加されると拡張するコンテナー関連のコンテンツを保持します。
  • /var/lib/etcd: etcd ストレージのパフォーマンスの最適化などの目的で分離する必要のあるデータを保持します。
  • /var: 監査などの目的に合わせて分離させる必要のあるデータを保持します。

    重要

    ディスクサイズが 100 GB を超える場合、特に 1 TB を超える場合は、別の /var パーティションを作成します。

/var ディレクトリーのコンテンツを個別に保存すると、必要に応じてこれらの領域のストレージの拡大を容易にし、後で OpenShift Container Platform を再インストールして、そのデータをそのまま保持することができます。この方法では、すべてのコンテナーを再度プルする必要はありません。また、システムの更新時に大きなログファイルをコピーする必要もありません。

/var は、Red Hat Enterprise Linux CoreOS (RHCOS) の新規インストール前に有効にする必要があるため、以下の手順では OpenShift Container Platform インストールの openshift-install の準備フェーズで挿入されるマシン設定マニフェストを作成して、別の /var パーティションを設定します。

手順

  1. OpenShift Container Platform インストールファイルを保存するディレクトリーを作成します。

    $ mkdir $HOME/clusterconfig
    Copy to Clipboard Toggle word wrap
  2. openshift-install を実行して、manifest および openshift のサブディレクトリーにファイルのセットを作成します。プロンプトが表示されたら、システムの質問に回答します。

    $ openshift-install create manifests --dir $HOME/clusterconfig
    ? SSH Public Key ...
    $ ls $HOME/clusterconfig/openshift/
    99_kubeadmin-password-secret.yaml
    99_openshift-cluster-api_master-machines-0.yaml
    99_openshift-cluster-api_master-machines-1.yaml
    99_openshift-cluster-api_master-machines-2.yaml
    ...
    Copy to Clipboard Toggle word wrap
  3. 追加のパーティションを設定する Butane 設定を作成します。たとえば、$HOME/clusterconfig/98-var-partition.bu ファイルに名前を付け、ディスクのデバイス名を worker システムのストレージデバイスの名前に変更し、必要に応じてストレージサイズを設定します。以下の例では、/var ディレクトリーを別のパーティションにマウントします。

    variant: openshift
    version: 4.13.0
    metadata:
      labels:
        machineconfiguration.openshift.io/role: worker
      name: 98-var-partition
    storage:
      disks:
      - device: /dev/disk/by-id/<device_name> 
    1
    
        partitions:
        - label: var
          start_mib: <partition_start_offset> 
    2
    
          size_mib: <partition_size> 
    3
    
          number: 5
      filesystems:
        - device: /dev/disk/by-partlabel/var
          path: /var
          format: xfs
          mount_options: [defaults, prjquota] 
    4
    
          with_mount_unit: true
    Copy to Clipboard Toggle word wrap
    1
    パーティションを設定する必要のあるディスクのストレージデバイス名。
    2
    データパーティションをブートディスクに追加する場合は、25000 のメビバイトの最小値が推奨されます。ルートファイルシステムは、指定したオフセットまでの利用可能な領域をすべて埋めるためにサイズを自動的に変更します。値の指定がない場合や、指定した値が推奨される最小値よりも小さい場合、生成されるルートファイルシステムのサイズは小さ過ぎるため、RHCOS の再インストールでデータパーティションの最初の部分が上書きされる可能性があります。
    3
    データパーティションのサイズ (メビバイト単位)。
    4
    コンテナーストレージに使用されるファイルシステムでは、prjquota マウントオプションを有効にする必要があります。
    注記

    個別の /var パーティションを作成する場合、異なるインスタンスタイプに同じデバイス名がない場合は、ワーカーノードに異なるインスタンスタイプを使用することはできません。

  4. Butane config からマニフェストを作成し、clusterconfig/openshift ディレクトリーに保存します。たとえば、以下のコマンドを実行します。

    $ butane $HOME/clusterconfig/98-var-partition.bu -o $HOME/clusterconfig/openshift/98-var-partition.yaml
    Copy to Clipboard Toggle word wrap
  5. openshift-install を再度実行し、manifest および openshift のサブディレクトリー内のファイルセットから、Ignition 設定を作成します。

    $ openshift-install create ignition-configs --dir $HOME/clusterconfig
    $ ls $HOME/clusterconfig/
    auth  bootstrap.ign  master.ign  metadata.json  worker.ign
    Copy to Clipboard Toggle word wrap

Ignition 設定ファイルを Red Hat Enterprise Linux CoreOS (RHCOS) システムをインストールために vSphere インストール手順への入力として使用できます。

22.8.18. ブートストラッププロセスの完了まで待機する

OpenShift Container Platform ブートストラッププロセスは、初回のクラスターノードのディスクにインストールされている永続的な RHCOS 環境での起動後に開始します。Ignition 設定ファイルで指定される設定情報は、ブートストラッププロセスを初期化し、マシンに OpenShift Container Platform をインストールするために使用されます。ブートストラッププロセスが完了するまで待機する必要があります。

前提条件

  • クラスターの Ignition 設定ファイルを作成している。
  • 適切なネットワーク、DNS および負荷分散インフラストラクチャーを設定している。
  • インストールプログラムを取得し、クラスターの Ignition 設定ファイルを生成している。
  • RHCOS をクラスターマシンにインストールし、OpenShift Container Platform インストールプログラムで生成される Ignition 設定ファイルを指定している。

手順

  1. ブートストラッププロセスをモニターします。

    $ ./openshift-install --dir <installation_directory> wait-for bootstrap-complete \ 
    1
    
        --log-level=info 
    2
    Copy to Clipboard Toggle word wrap
    1
    <installation_directory> には、インストールファイルを保存したディレクトリーへのパスを指定します。
    2
    異なるインストールの詳細情報を表示するには、info ではなく、warndebug、または error を指定します。

    出力例

    INFO Waiting up to 30m0s for the Kubernetes API at https://api.test.example.com:6443...
    INFO API v1.26.0 up
    INFO Waiting up to 30m0s for bootstrapping to complete...
    INFO It is now safe to remove the bootstrap resources
    Copy to Clipboard Toggle word wrap

    Kubernetes API サーバーでこれがコントロールプレーンマシンにブートストラップされていることを示すシグナルが出されるとコマンドは成功します。

  2. ブートストラッププロセスが完了したら、ブートストラップマシンをロードバランサーから削除します。

    重要

    この時点で、ブートストラップマシンをロードバランサーから削除する必要があります。さらに、ブートストラップマシン自体を削除し、再フォーマットすることができます。

22.8.19. CLI の使用によるクラスターへのログイン

クラスター kubeconfig ファイルをエクスポートし、デフォルトシステムユーザーとしてクラスターにログインできます。kubeconfig ファイルには、クライアントを正しいクラスターおよび API サーバーに接続するために CLI で使用されるクラスターに関する情報が含まれます。このファイルはクラスターに固有のファイルであり、OpenShift Container Platform のインストール時に作成されます。

前提条件

  • OpenShift Container Platform クラスターをデプロイしていること。
  • oc CLI をインストールしていること。

手順

  1. kubeadmin 認証情報をエクスポートします。

    $ export KUBECONFIG=<installation_directory>/auth/kubeconfig 
    1
    Copy to Clipboard Toggle word wrap
    1
    <installation_directory> には、インストールファイルを保存したディレクトリーへのパスを指定します。
  2. エクスポートされた設定を使用して、oc コマンドを正常に実行できることを確認します。

    $ oc whoami
    Copy to Clipboard Toggle word wrap

    出力例

    system:admin
    Copy to Clipboard Toggle word wrap

22.8.20. マシンの証明書署名要求の承認

マシンをクラスターに追加する際に、追加したそれぞれのマシンについて 2 つの保留状態の証明書署名要求 (CSR) が生成されます。これらの CSR が承認されていることを確認するか、必要な場合はそれらを承認してください。最初にクライアント要求を承認し、次にサーバー要求を承認する必要があります。

前提条件

  • マシンがクラスターに追加されています。

手順

  1. クラスターがマシンを認識していることを確認します。

    $ oc get nodes
    Copy to Clipboard Toggle word wrap

    出力例

    NAME      STATUS    ROLES   AGE  VERSION
    master-0  Ready     master  63m  v1.26.0
    master-1  Ready     master  63m  v1.26.0
    master-2  Ready     master  64m  v1.26.0
    Copy to Clipboard Toggle word wrap

    出力には作成したすべてのマシンがリスト表示されます。

    注記

    上記の出力には、一部の CSR が承認されるまで、ワーカーノード (ワーカーノードとも呼ばれる) が含まれない場合があります。

  2. 保留中の証明書署名要求 (CSR) を確認し、クラスターに追加したそれぞれのマシンのクライアントおよびサーバー要求に Pending または Approved ステータスが表示されていることを確認します。

    $ oc get csr
    Copy to Clipboard Toggle word wrap

    出力例

    NAME        AGE   REQUESTOR                                   CONDITION
    csr-mddf5   20m   system:node:master-01.example.com   Approved,Issued
    csr-z5rln   16m   system:node:worker-21.example.com   Approved,Issued
    Copy to Clipboard Toggle word wrap

  3. 追加したマシンの保留中の CSR すべてが Pending ステータスになった後に CSR が承認されない場合には、クラスターマシンの CSR を承認します。

    注記

    CSR のローテーションは自動的に実行されるため、クラスターにマシンを追加後 1 時間以内に CSR を承認してください。1 時間以内に承認しない場合には、証明書のローテーションが行われ、各ノードに 3 つ以上の証明書が存在するようになります。これらの証明書すべてを承認する必要があります。クライアントの CSR が承認された後に、Kubelet は提供証明書のセカンダリー CSR を作成します。これには、手動の承認が必要になります。次に、後続の提供証明書の更新要求は、Kubelet が同じパラメーターを持つ新規証明書を要求する場合に machine-approver によって自動的に承認されます。

    注記

    ベアメタルおよび他の user-provisioned infrastructure などのマシン API ではないプラットフォームで実行されているクラスターの場合、kubelet 提供証明書要求 (CSR) を自動的に承認する方法を実装する必要があります。要求が承認されない場合、API サーバーが kubelet に接続する際に提供証明書が必須であるため、oc execoc rsh、および oc logs コマンドは正常に実行できません。Kubelet エンドポイントにアクセスする操作には、この証明書の承認が必要です。この方法は新規 CSR の有無を監視し、CSR が system:node または system:admin グループの node-bootstrapper サービスアカウントによって提出されていることを確認し、ノードのアイデンティティーを確認します。

    • それらを個別に承認するには、それぞれの有効な CSR について以下のコマンドを実行します。

      $ oc adm certificate approve <csr_name> 
      1
      Copy to Clipboard Toggle word wrap
      1
      <csr_name> は、現行の CSR のリストからの CSR の名前です。
    • すべての保留中の CSR を承認するには、以下のコマンドを実行します。

      $ oc get csr -o go-template='{{range .items}}{{if not .status}}{{.metadata.name}}{{"\n"}}{{end}}{{end}}' | xargs --no-run-if-empty oc adm certificate approve
      Copy to Clipboard Toggle word wrap
      注記

      一部の Operator は、一部の CSR が承認されるまで利用できない可能性があります。

  4. クライアント要求が承認されたら、クラスターに追加した各マシンのサーバー要求を確認する必要があります。

    $ oc get csr
    Copy to Clipboard Toggle word wrap

    出力例

    NAME        AGE     REQUESTOR                                                                   CONDITION
    csr-bfd72   5m26s   system:node:ip-10-0-50-126.us-east-2.compute.internal                       Pending
    csr-c57lv   5m26s   system:node:ip-10-0-95-157.us-east-2.compute.internal                       Pending
    ...
    Copy to Clipboard Toggle word wrap

  5. 残りの CSR が承認されず、それらが Pending ステータスにある場合、クラスターマシンの CSR を承認します。

    • それらを個別に承認するには、それぞれの有効な CSR について以下のコマンドを実行します。

      $ oc adm certificate approve <csr_name> 
      1
      Copy to Clipboard Toggle word wrap
      1
      <csr_name> は、現行の CSR のリストからの CSR の名前です。
    • すべての保留中の CSR を承認するには、以下のコマンドを実行します。

      $ oc get csr -o go-template='{{range .items}}{{if not .status}}{{.metadata.name}}{{"\n"}}{{end}}{{end}}' | xargs oc adm certificate approve
      Copy to Clipboard Toggle word wrap
  6. すべてのクライアントおよびサーバーの CSR が承認された後に、マシンのステータスが Ready になります。以下のコマンドを実行して、これを確認します。

    $ oc get nodes
    Copy to Clipboard Toggle word wrap

    出力例

    NAME      STATUS    ROLES   AGE  VERSION
    master-0  Ready     master  73m  v1.26.0
    master-1  Ready     master  73m  v1.26.0
    master-2  Ready     master  74m  v1.26.0
    worker-0  Ready     worker  11m  v1.26.0
    worker-1  Ready     worker  11m  v1.26.0
    Copy to Clipboard Toggle word wrap

    注記

    サーバー CSR の承認後にマシンが Ready ステータスに移行するまでに数分の時間がかかる場合があります。

関連情報

22.8.21. Operator の初期設定

コントロールプレーンの初期化後に、一部の Operator を利用可能にするためにそれらをすぐに設定する必要があります。

前提条件

  • コントロールプレーンが初期化されています。

手順

  1. クラスターコンポーネントがオンラインになることを確認します。

    $ watch -n5 oc get clusteroperators
    Copy to Clipboard Toggle word wrap

    出力例

    NAME                                       VERSION   AVAILABLE   PROGRESSING   DEGRADED   SINCE
    authentication                             4.13.0    True        False         False      19m
    baremetal                                  4.13.0    True        False         False      37m
    cloud-credential                           4.13.0    True        False         False      40m
    cluster-autoscaler                         4.13.0    True        False         False      37m
    config-operator                            4.13.0    True        False         False      38m
    console                                    4.13.0    True        False         False      26m
    csi-snapshot-controller                    4.13.0    True        False         False      37m
    dns                                        4.13.0    True        False         False      37m
    etcd                                       4.13.0    True        False         False      36m
    image-registry                             4.13.0    True        False         False      31m
    ingress                                    4.13.0    True        False         False      30m
    insights                                   4.13.0    True        False         False      31m
    kube-apiserver                             4.13.0    True        False         False      26m
    kube-controller-manager                    4.13.0    True        False         False      36m
    kube-scheduler                             4.13.0    True        False         False      36m
    kube-storage-version-migrator              4.13.0    True        False         False      37m
    machine-api                                4.13.0    True        False         False      29m
    machine-approver                           4.13.0    True        False         False      37m
    machine-config                             4.13.0    True        False         False      36m
    marketplace                                4.13.0    True        False         False      37m
    monitoring                                 4.13.0    True        False         False      29m
    network                                    4.13.0    True        False         False      38m
    node-tuning                                4.13.0    True        False         False      37m
    openshift-apiserver                        4.13.0    True        False         False      32m
    openshift-controller-manager               4.13.0    True        False         False      30m
    openshift-samples                          4.13.0    True        False         False      32m
    operator-lifecycle-manager                 4.13.0    True        False         False      37m
    operator-lifecycle-manager-catalog         4.13.0    True        False         False      37m
    operator-lifecycle-manager-packageserver   4.13.0    True        False         False      32m
    service-ca                                 4.13.0    True        False         False      38m
    storage                                    4.13.0    True        False         False      37m
    Copy to Clipboard Toggle word wrap

  2. 利用不可の Operator を設定します。

22.8.21.1. デフォルトの OperatorHub カタログソースの無効化

Red Hat によって提供されるコンテンツを調達する Operator カタログおよびコミュニティープロジェクトは、OpenShift Container Platform のインストール時にデフォルトで OperatorHub に設定されます。ネットワークが制限された環境では、クラスター管理者としてデフォルトのカタログを無効にする必要があります。

手順

  • disableAllDefaultSources: trueOperatorHub オブジェクトに追加して、デフォルトカタログのソースを無効にします。

    $ oc patch OperatorHub cluster --type json \
        -p '[{"op": "add", "path": "/spec/disableAllDefaultSources", "value": true}]'
    Copy to Clipboard Toggle word wrap
ヒント

または、Web コンソールを使用してカタログソースを管理できます。Administration Cluster Settings Configuration OperatorHub ページから、Sources タブをクリックして、個別のソースを作成、更新、削除、無効化、有効化できます。

22.8.21.2. イメージレジストリーストレージの設定

Amazon Web Services はデフォルトのストレージを提供します。つまり、Image Registry Operator はインストール後に利用可能になります。ただし、レジストリー Operator が S3 バケットを作成できず、ストレージを自動的に設定する場合は、レジストリーストレージを手動で設定する必要があります。

実稼働クラスターに必要な永続ボリュームの設定に関する手順が示されます。該当する場合、空のディレクトリーをストレージの場所として設定する方法が表示されます。これは、実稼働以外のクラスターでのみ利用できます。

アップグレード時に Recreate ロールアウトストラテジーを使用して、イメージレジストリーがブロックストレージタイプを使用することを許可するための追加の手順が提供されます。

22.8.21.2.1. VMware vSphere のレジストリーストレージの設定

クラスター管理者は、インストール後にレジストリーをストレージを使用できるように設定する必要があります。

前提条件

  • クラスター管理者のパーミッション。
  • VMware vSphere 上のクラスター。
  • Red Hat OpenShift Data Foundation など、クラスターのプロビジョニングされた永続ストレージ。

    重要

    OpenShift Container Platform は、1 つのレプリカのみが存在する場合にイメージレジストリーストレージの ReadWriteOnce アクセスをサポートします。ReadWriteOnce アクセスでは、レジストリーが Recreate ロールアウト戦略を使用する必要もあります。2 つ以上のレプリカで高可用性をサポートするイメージレジストリーをデプロイするには、ReadWriteMany アクセスが必要です。

  • "100Gi" の容量が必要です。
重要

テストにより、NFS サーバーを RHEL でコアサービスのストレージバックエンドとして使用することに関する問題が検出されています。これには、OpenShift Container レジストリーおよび Quay、メトリックストレージの Prometheus、およびロギングストレージの Elasticsearch が含まれます。そのため、コアサービスで使用される PV をサポートするために RHEL NFS を使用することは推奨されていません。

他の NFS の実装ではこれらの問題が検出されない可能性があります。OpenShift Container Platform コアコンポーネントに対して実施された可能性のあるテストに関する詳細情報は、個別の NFS 実装ベンダーにお問い合わせください。

手順

  1. レジストリーをストレージを使用できるように設定するには、configs.imageregistry/cluster リソースの spec.storage.pvc を変更します。

    注記

    共有ストレージを使用する場合は、外部からアクセスを防ぐためにセキュリティー設定を確認します。

  2. レジストリー Pod がないことを確認します。

    $ oc get pod -n openshift-image-registry -l docker-registry=default
    Copy to Clipboard Toggle word wrap

    出力例

    No resourses found in openshift-image-registry namespace
    Copy to Clipboard Toggle word wrap

    注記

    出力にレジストリー Pod がある場合は、この手順を続行する必要はありません。

  3. レジストリー設定を確認します。

    $ oc edit configs.imageregistry.operator.openshift.io
    Copy to Clipboard Toggle word wrap

    出力例

    storage:
      pvc:
        claim: 
    1
    Copy to Clipboard Toggle word wrap

    1
    image-registry-storage 永続ボリューム要求 (PVC) の自動作成を許可するには、claim フィールドを空白のままにします。PVC は、デフォルトのストレージクラスに基づいて生成されます。ただし、デフォルトのストレージクラスは、RADOS ブロックデバイス (RBD) などの ReadWriteOnce (RWO) ボリュームを提供する可能性があることに注意してください。これは、複数のレプリカに複製するときに問題を引き起こす可能性があります。
  4. clusteroperator ステータスを確認します。

    $ oc get clusteroperator image-registry
    Copy to Clipboard Toggle word wrap

    出力例

    NAME             VERSION                              AVAILABLE   PROGRESSING   DEGRADED   SINCE   MESSAGE
    image-registry   4.7                                  True        False         False      6h50m
    Copy to Clipboard Toggle word wrap

22.8.21.2.2. 実稼働以外のクラスターでのイメージレジストリーのストレージの設定

Image Registry Operator のストレージを設定する必要があります。実稼働用以外のクラスターの場合、イメージレジストリーは空のディレクトリーに設定することができます。これを実行する場合、レジストリーを再起動するとすべてのイメージが失われます。

手順

  • イメージレジストリーストレージを空のディレクトリーに設定するには、以下を実行します。

    $ oc patch configs.imageregistry.operator.openshift.io cluster --type merge --patch '{"spec":{"storage":{"emptyDir":{}}}}'
    Copy to Clipboard Toggle word wrap
    警告

    実稼働用以外のクラスターにのみこのオプションを設定します。

    Image Registry Operator がそのコンポーネントを初期化する前にこのコマンドを実行する場合、oc patch コマンドは以下のエラーを出して失敗します。

    Error from server (NotFound): configs.imageregistry.operator.openshift.io "cluster" not found
    Copy to Clipboard Toggle word wrap

    数分待機した後に、このコマンドを再び実行します。

22.8.21.2.3. VMware vSphere のブロックレジストリーストレージの設定

イメージレジストリーがクラスター管理者によるアップグレード時に vSphere Virtual Machine Disk (VMDK) などのブロックストレージタイプを使用できるようにするには、Recreate ロールアウトストラテジーを使用できます。

重要

ブロックストレージボリュームはサポートされますが、実稼働クラスターでのイメージレジストリーと併用することは推奨されません。レジストリーに複数のレプリカを含めることができないため、ブロックストレージにレジストリーが設定されているインストールに高可用性はありません。

手順

  1. 次のコマンドを入力してイメージレジストリーストレージをブロックストレージタイプとして設定し、レジストリーにパッチを適用して Recreate ロールアウトストラテジーを使用し、1 つのレプリカのみで実行されるようにします。

    $ oc patch config.imageregistry.operator.openshift.io/cluster --type=merge -p '{"spec":{"rolloutStrategy":"Recreate","replicas":1}}'
    Copy to Clipboard Toggle word wrap
  2. ブロックストレージデバイスの PV をプロビジョニングし、そのボリュームの PVC を作成します。要求されたブロックボリュームは ReadWriteOnce (RWO) アクセスモードを使用します。

    1. 以下の内容で pvc.yaml ファイルを作成して VMware vSphere PersistentVolumeClaim オブジェクトを定義します。

      kind: PersistentVolumeClaim
      apiVersion: v1
      metadata:
        name: image-registry-storage 
      1
      
        namespace: openshift-image-registry 
      2
      
      spec:
        accessModes:
        - ReadWriteOnce 
      3
      
        resources:
          requests:
            storage: 100Gi 
      4
      Copy to Clipboard Toggle word wrap
      1
      PersistentVolumeClaim オブジェクトを表す一意の名前。
      2
      PersistentVolumeClaim オブジェクトの namespace (openshift-image-registry)。
      3
      永続ボリューム要求のアクセスモード。ReadWriteOnce では、ボリュームは単一ノードによって読み取り/書き込みパーミッションでマウントできます。
      4
      永続ボリューム要求のサイズ。
    2. 次のコマンドを入力して、ファイルから PersistentVolumeClaim オブジェクトを作成します。

      $ oc create -f pvc.yaml -n openshift-image-registry
      Copy to Clipboard Toggle word wrap
  3. 次のコマンドを入力して、正しい PVC を参照するようにレジストリー設定を編集します。

    $ oc edit config.imageregistry.operator.openshift.io -o yaml
    Copy to Clipboard Toggle word wrap

    出力例

    storage:
      pvc:
        claim: 
    1
    Copy to Clipboard Toggle word wrap

    1
    カスタム PVC を作成することにより、image-registry-storage PVC のデフォルトの自動作成の claim フィールドを空のままにできます。

正しい PVC を参照するようにレジストリーストレージを設定する方法については、VMware vSphere のレジストリーの設定 を参照してください。

Operator の設定が完了したら、独自に提供するインフラストラクチャーへのクラスターのインストールを完了できます。

前提条件

  • コントロールプレーンが初期化されています。
  • Operator の初期設定を完了済みです。

手順

  1. 以下のコマンドを使用して、すべてのクラスターコンポーネントがオンラインであることを確認します。

    $ watch -n5 oc get clusteroperators
    Copy to Clipboard Toggle word wrap

    出力例

    NAME                                       VERSION   AVAILABLE   PROGRESSING   DEGRADED   SINCE
    authentication                             4.13.0    True        False         False      19m
    baremetal                                  4.13.0    True        False         False      37m
    cloud-credential                           4.13.0    True        False         False      40m
    cluster-autoscaler                         4.13.0    True        False         False      37m
    config-operator                            4.13.0    True        False         False      38m
    console                                    4.13.0    True        False         False      26m
    csi-snapshot-controller                    4.13.0    True        False         False      37m
    dns                                        4.13.0    True        False         False      37m
    etcd                                       4.13.0    True        False         False      36m
    image-registry                             4.13.0    True        False         False      31m
    ingress                                    4.13.0    True        False         False      30m
    insights                                   4.13.0    True        False         False      31m
    kube-apiserver                             4.13.0    True        False         False      26m
    kube-controller-manager                    4.13.0    True        False         False      36m
    kube-scheduler                             4.13.0    True        False         False      36m
    kube-storage-version-migrator              4.13.0    True        False         False      37m
    machine-api                                4.13.0    True        False         False      29m
    machine-approver                           4.13.0    True        False         False      37m
    machine-config                             4.13.0    True        False         False      36m
    marketplace                                4.13.0    True        False         False      37m
    monitoring                                 4.13.0    True        False         False      29m
    network                                    4.13.0    True        False         False      38m
    node-tuning                                4.13.0    True        False         False      37m
    openshift-apiserver                        4.13.0    True        False         False      32m
    openshift-controller-manager               4.13.0    True        False         False      30m
    openshift-samples                          4.13.0    True        False         False      32m
    operator-lifecycle-manager                 4.13.0    True        False         False      37m
    operator-lifecycle-manager-catalog         4.13.0    True        False         False      37m
    operator-lifecycle-manager-packageserver   4.13.0    True        False         False      32m
    service-ca                                 4.13.0    True        False         False      38m
    storage                                    4.13.0    True        False         False      37m
    Copy to Clipboard Toggle word wrap

    あるいは、以下のコマンドを使用すると、すべてのクラスターが利用可能な場合に通知されます。また、このコマンドは認証情報を取得して表示します。

    $ ./openshift-install --dir <installation_directory> wait-for install-complete 
    1
    Copy to Clipboard Toggle word wrap
    1
    <installation_directory> には、インストールファイルを保存したディレクトリーへのパスを指定します。

    出力例

    INFO Waiting up to 30m0s for the cluster to initialize...
    Copy to Clipboard Toggle word wrap

    Cluster Version Operator が Kubernetes API サーバーから OpenShift Container Platform クラスターのデプロイを終了するとコマンドは成功します。

    重要
    • インストールプログラムが生成する Ignition 設定ファイルには、24 時間が経過すると期限切れになり、その後に更新される証明書が含まれます。証明書を更新する前にクラスターが停止し、24 時間経過した後にクラスターを再起動すると、クラスターは期限切れの証明書を自動的に復元します。例外として、kubelet 証明書を回復するために保留状態の node-bootstrapper 証明書署名要求 (CSR) を手動で承認する必要があります。詳細は、コントロールプレーン証明書の期限切れの状態からのリカバリー に関するドキュメントを参照してください。
    • 24 時間証明書はクラスターのインストール後 16 時間から 22 時間にローテーションするため、Ignition 設定ファイルは、生成後 12 時間以内に使用することを推奨します。12 時間以内に Ignition 設定ファイルを使用することにより、インストール中に証明書の更新が実行された場合のインストールの失敗を回避できます。
  2. Kubernetes API サーバーが Pod と通信していることを確認します。

    1. すべての Pod のリストを表示するには、以下のコマンドを使用します。

      $ oc get pods --all-namespaces
      Copy to Clipboard Toggle word wrap

      出力例

      NAMESPACE                         NAME                                            READY   STATUS      RESTARTS   AGE
      openshift-apiserver-operator      openshift-apiserver-operator-85cb746d55-zqhs8   1/1     Running     1          9m
      openshift-apiserver               apiserver-67b9g                                 1/1     Running     0          3m
      openshift-apiserver               apiserver-ljcmx                                 1/1     Running     0          1m
      openshift-apiserver               apiserver-z25h4                                 1/1     Running     0          2m
      openshift-authentication-operator authentication-operator-69d5d8bf84-vh2n8        1/1     Running     0          5m
      ...
      Copy to Clipboard Toggle word wrap

    2. 以下のコマンドを使用して、直前のコマンドの出力にリスト表示される Pod のログを表示します。

      $ oc logs <pod_name> -n <namespace> 
      1
      Copy to Clipboard Toggle word wrap
      1
      直前のコマンドの出力にあるように、Pod 名および namespace を指定します。

      Pod のログが表示される場合、Kubernetes API サーバーはクラスターマシンと通信できます。

  3. FCP (Fibre Channel Protocol) を使用したインストールでは、マルチパスを有効にするために追加の手順が必要です。インストール時にマルチパスを有効にしないでください。

    詳細は、インストール後のマシン設定タスク ドキュメントの RHCOS でのカーネル引数を使用したマルチパスの有効化を参照してください。

  4. Cluster registration ページでクラスターを登録します。

クラスターのインストールが完了したら、コンピュートマシンの vSphere への追加 に従って、コンピュートマシンをさらに追加できます。

22.8.23. VMware vSphere ボリュームのバックアップ

OpenShift Container Platform は、自由にクラスターないのノードにあるボリュームをアタッチしたり、アタッチ解除できるように、個別の永続ディスクとして新規ボリュームをプロビジョニングします。そのため、スナップショットを使用するボリュームはバックアップしたり、スナップショットからボリュームを復元したりすることはできません。詳細は、スナップショットの制限 を参照してください。

手順

永続ボリュームのバックアップを作成すには、以下を実行します。

  1. 永続ボリュームを使用しているアプリケーションを停止します。
  2. 永続ボリュームのクローンを作成します。
  3. アプリケーションを再起動します。
  4. クローンを作成したボリュームのバックアップを作成します。
  5. クローンを作成したボリュームを削除します。

22.8.24. OpenShift Container Platform の Telemetry アクセス

OpenShift Container Platform 4.13 では、クラスターの健全性および正常に実行された更新についてのメトリクスを提供するためにデフォルトで実行される Telemetry サービスにもインターネットアクセスが必要です。クラスターがインターネットに接続されている場合、Telemetry は自動的に実行され、クラスターは OpenShift Cluster Manager Hybrid Cloud Console に登録されます。

OpenShift Cluster Manager インベントリーが正常である (Telemetry によって自動的に維持、または OpenShift Cluster Manager Hybrid Cloud Console を使用して手動で維持) ことを確認した後に、subscription watch を使用 して、アカウントまたはマルチクラスターレベルで OpenShift Container Platform サブスクリプションを追跡します。

22.8.25. 次のステップ

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat