Menu Close
Settings Close

Language and Page Formatting Options

Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

第25章 VMWare vSphere の設定

OpenShift Container Platform は、VMware vSphere VMDK を使用して PersistentVolume をサポートするように設定できます。この設定には、アプリケーションデータについて VMware vSphere VMDK を永続ストレージとして使用する ことが含まれます。

vSphere Cloud Provider は OpenShift Container Platform で vSphere で管理されたストレージを使用することを許可し、Kubernetes が使用するすべてのストレージプリミティブをサポートします。

  • PersistentVolume (PV)
  • PersistentVolumesClaim (PVC)
  • StorageClass

ステートフルなコンテナー化されたアプリケーションによって要求される PersistentVolume は、VMware vSAN、VVOL、VMFS、または NFS データストアでプロビジョニングできます。

Kubernetes PV は Pod 仕様で定義されます。これらは動的プロビジョニングの使用時に静的プロビジョニングまたは PVC を使用する場合 (これは推奨される方法です)、VMDK ファイルを直接参照できます。

vSphere Cloud Provider への最新アップデートは Kubernetes 用の vSphere ストレージにあります。

25.1. 作業を開始する前に

25.1.1. 要件

VMware vSphere

重要

スタンドアロンの ESXi はサポートされません。

  • 完全な VMware 検証設計をサポートする場合、vSphere バージョン 6.0.x の推奨される最小バージョンの 6.7 U1b が必要になります。
  • vSAN、VMFS および NFS がサポートされます。

    • vSAN サポートは、1 つの vCenter の 1 つのクラスターに制限されます。
注記

OpenShift Container Platform 3.11 は vSphere 7 クラスターでサポートされ、デプロイします。vSphere in-tree(インツリー)ストレージドライバーを使用する場合、vSAN、VMFS、および NFS ストレージオプションもサポートされます。

前提条件

各ノードの仮想マシンに VMware ツールをインストールする必要があります。詳しい情報は、「VMware ツールのインストール」を参照してください。

追加の設定およびトラブルシューティングにオープンソース VMware govmomi CLI ツールを使用できます。以下は、govc CLI 設定例になります。

    export GOVC_URL='vCenter IP OR FQDN'
    export GOVC_USERNAME='vCenter User'
    export GOVC_PASSWORD='vCenter Password'
    export GOVC_INSECURE=1

25.1.1.1. パーミッション

ロールを作成し、これを vSphere Cloud Provider に割り当てます。必要な特権セットを持つ vCenter ユーザーが必要です。

通常、vSphere Cloud Provider に指定される vSphere ユーザーには以下のパーミッションがなければなりません。

  • folderhost、datacenter、datastore folder、 datastore cluster などのノード仮想マシンの親エンティティーの Read パーミッション。
  • vsphere.conf で定義されるリソースプールの VirtualMachine.Inventory.Create/Delete パーミッション: これは、テスト仮想マシンを作成し、削除するために使用されます。

カスタムロール、ユーザー、ロールの割り当ての作成手順については、「vSphere Documentation Center」を参照してください。

vSphere Cloud Provider は、複数の vCenter にまたがる OpenShift Container Platform クラスターをサポートします。上記のすべての特権がすべての vCenter に対して適切に設定されていることを確認します。

動的プロビジョニングのパーミッション

動的永続ボリュームの作成が推奨される方法です。

ロール権限エンティティー子への伝播

manage-k8s-node-vms

Resource.AssignVMToPool, VirtualMachine.Config.AddExistingDisk, VirtualMachine.Config.AddNewDisk, VirtualMachine.Config.AddRemoveDevice, VirtualMachine.Config.RemoveDisk, VirtualMachine.Inventory.Create, VirtualMachine.Inventory.Delete, VirtualMachine.Config.Settings

クラスター、ホスト、VM フォルダー

必要

manage-k8s-volumes

Datastore.AllocateSpace, Datastore.FileManagement (低レベルのファイル操作)

データストア

不要

k8s-system-read-and-spbm-profile-view

StorageProfile.View (プロファイルで起動されるストレージビュー)

vCenter

不要

読み取り専用 (既存のデフォルトロール)

System.Anonymous System.Read System.View

データセンター、データストアクラスター、データストアストレージフォルダー

不要

静的プロビジョニングのパーミッション

静的にプロビジョニングされる PV にバインドする PVC を使用し、削除する回収ポリシーを設定する場合に、Datastore.FileManagement は manage-k8s-volumes ロールにのみ必要になります。PVC が削除される場合、関連付けられる静的にプロビジョニングされた PV も削除されます。

ロール権限Entities子への伝播

manage-k8s-node-vms

VirtualMachine.Config.AddExistingDisk, VirtualMachine.Config.AddNewDisk, VirtualMachine.Config.AddRemoveDevice, VirtualMachine.Config.RemoveDisk

VM フォルダー

必要

manage-k8s-volumes

Datastore.FileManagement (低レベルのファイル操作)

データストア

不要

読み取り専用 (既存のデフォルトロール)

System.Anonymous System.Read System.View

vCenter、データセンター、データストアクラスター、データストアストレージフォルダー、クラスター、ホスト

No …​

手順

  1. VM フォルダーを作成し、OpenShift Container Platform ノード VM をこのフォルダーに移動します。
  2. 各ノード仮想マシンについて disk.EnableUUID パラメーターを true に設定します。この設定により、VMware vSphere の Virtual Machine Disk (VMDK) が一貫性のある UUID を常に仮想マシンに提示し、ディスクが正常にマウントされるようになります。

    クラスターに参加するすべての仮想マシンノードでは、disk.EnableUUID パラメーターが true に設定される必要があります。この値を設定するには、vSphere コンソールまたは govc CLI ツールのいずれかの手順を実行します。

    1. vSphere HTML クライアントから、「VM properties」 → 「VM Options」 → 「Advanced」 → 「Configuration Parameters」 → 「disk.enableUUID=TRUE」に移動します。
    2. または、govc CLI を使用してノード仮想マシンのパスを見つけます。

      $govc ls /datacenter/vm/<vm-folder-name>
      1. すべての VM について、disk.EnableUUIDtrue に設定します。

        $govc vm.change -e="disk.enableUUID=1" -vm='VM Path'
注記

OpenShift Container Platform ノード仮想マシンが仮想マシンテンプレートで作成されている場合、disk.EnableUUID=1 をテンプレート仮想マシンに設定することができます。このテンプレートからクローン作成される仮想マシンはこのプロパティーを継承します。

25.1.1.2. OpenShift Container Platform と vMotion の使用

重要

OpenShift Container Platform は通常、コンピュートのみの vMotion をサポートします。Storage vMotion を使用すると問題が発生する可能性があるため、これはサポートされていません。

Pod で vSphere ボリュームを使用している場合、手動でまたは Storage vMotion を使用して仮想マシンをデータストア間で移行すると、OpenShift Container Platform 永続ボリューム (PV) オブジェクト内で無効な参照が発生します。これらの参照により、影響を受ける Pod が起動しなくなり、データが失われる可能性があります。

同様に、OpenShift Container Platform は、仮想マシンのプロビジョニング用にデータストアクラスターを、または PV の動的または静的プロビジョニング用にデータストアクラスターを使用するか、PV の動的または静的プロビジョニング用にデータストアクラスターの一部であるデータストアを使用した VMDK のデータストア間での選択的な移行をサポートしません。