このドキュメントでは、Google Distributed Cloud(GDC)エアギャップ環境で仮想マシン(VM)インスタンスのプロパティを更新する方法について説明します。
VM プロパティを更新して、インスタンスで実行されているワークロードの変化する要件に合わせて仮想インフラストラクチャを調整できます。vCPU や物理メモリ(RAM)を増やしたり、減らしたりして、プロジェクト内の他の場所にリソースを再分配できます。
VM を破棄して再構築し、データを移行するのではなく、プロパティを更新することもできます。通常、プロパティの更新には迅速な再起動が必要ですが、この方法を使用すると、構成時間を大幅に短縮できます。
このドキュメントは、Distributed Cloud 環境で VM プロパティを表示および更新するプラットフォーム管理者またはアプリケーション オペレーター グループの開発者を対象としています。詳細については、 GDC エアギャップ ドキュメントの対象読者をご覧ください。
始める前に
gdcloud コマンドライン インターフェース(CLI)コマンドを使用するには、gdcloud CLI をダウンロード、インストール、
構成していることを確認してください。Distributed Cloud のすべてのコマンドは gdcloud
または kubectl CLI を使用し、オペレーティング システム(OS)環境が必要です。
kubeconfig ファイルのパスを取得する
Management API サーバーに対してコマンドを実行するには、次のリソースが必要です。
Management API サーバーの kubeconfig ファイルのパスを使用して、この手順の
MANAGEMENT_API_SERVERを置き換えます。
IAM ロールをリクエストする
プロジェクトに対する次のロールをリクエストするには、プロジェクト IAM 管理者にお問い合わせください。
仮想マシン プロジェクト管理者 (
project-vm-admin): プロジェクト名前空間で VM を作成、変更、一覧表示、削除します。プロジェクト閲覧者 (
project-viewer): プロジェクト名前空間内のすべてのリソースを表示します。
すべての VM ロールは、VM が存在するプロジェクトの名前空間にバインドする必要があります。 手順に沿ってアクセス権 を確認してください。
更新可能なプロパティ
変更できるのは、VM の spec にあるプロパティのみです。
更新可能なプロパティを表示する
GDC コンソールまたは kubectl を使用して、変更するプロパティを見つけます。
コンソール
ナビゲーション メニューで、[仮想マシン] > [インスタンス] をクリックします。
VM のリストで、VM 名をクリックしてプロパティを表示します。
編集可能なプロパティには、edit [編集] アイコンが表示されます。
kubectl
VM
specのプロパティのリストと、各プロパティに対応する有効な値を表示します。kubectl --kubeconfig MANAGEMENT_API_SERVER \ explain virtualmachines.virtualmachine.gdc.goog.spec出力は次のようになります。
KIND: VirtualMachine VERSION: virtualmachine.gdc.goog/v1 RESOURCE: spec <Object> DESCRIPTION: Defines the specification of the Virtual Machine. FIELDS: compute <Object> Specifies the CPU and Memory of the VM. CPU and Memory can be defined directly or through the VirtualMachineType. Changes to Compute require a reboot to take effect. Compute is immutable when the VM is in `Unknown` state. disks <[]Object> -required- Specifies the list of disks attached to this vm. There must be exactly one boot disk. Changes to disk attachments require a reboot to take effect. ...各プロパティのサブプロパティを再帰的に表示します。次の例は、
computeサブプロパティとvcpusサブプロパティの戻り値を示しています。このコマンド例では、
computeサブプロパティのフィールドが返されます。kubectl --kubeconfig MANAGEMENT_API_SERVER \ explain virtualmachines.virtualmachine.gdc.goog.spec.compute出力は次のようになります。
KIND: VirtualMachine VERSION: virtualmachine.gdc.goog/v1 RESOURCE: compute <Object> DESCRIPTION: Specifies the CPU and Memory of the VM. CPU and Memory can be defined directly or through the VirtualMachineType. Changes to Compute require a reboot to take effect. Compute is immutable when the VM is in `Unknown` state. FIELDS: memory <> Specifies the amount of physical memory available to the instance. memory must have a minimum value of `1G`, and can be up to (including) `400G`. vcpus <integer> Specifies the number of VCPUs that are available to the instance. Specify `vcpus` as an integer. This value must be a multiple of 2, with 2 as the minimum and 128 as the maximum allowed. ...このコマンド例では、
vcpusサブプロパティのフィールドが返されます。kubectl --kubeconfig MANAGEMENT_API_SERVER \ explain virtualmachines.virtualmachine.gdc.goog.spec.compute.vcpus出力は次のようになります。
KIND: VirtualMachine VERSION: virtualmachine.gdc.goog/v1 FIELD: vcpus <integer> DESCRIPTION: Specifies the number of VCPUs that are available to the instance. Specify `vcpus` as an integer. This value must be a multiple of 2, with 2 as the minimum and 128 as the maximum allowed.
すべてのプロパティは実行中の VM で更新できますが、変更を有効にするには VM の再起動が必要になることがよくあります。
次のプロパティを更新するには、変更を有効にするために VM を再起動する必要があります。
- compute
- disks
- firmware
- startupScripts
次のプロパティの更新はすぐに有効になります。
- guestEnvironment
- runningState
VM プロパティを更新する
GDC コンソールまたは kubectl を使用して VM プロパティを更新します。
コンソール
ナビゲーション メニューで、[仮想マシン] > [インスタンス] をクリックします。
VM のリストで、VM 名をクリックしてプロパティを表示します。
編集するプロパティの横にある edit [編集] をクリックして、 変更を加えます。
ブートディスクを置き換えるか、新しいディスクを追加する場合は、 ブートディスクを置き換える またはVM にディスクを追加するをご覧ください。
[保存] をクリックします。
kubectl
次のコマンドを実行します。
kubectl --kubeconfig MANAGEMENT_API_SERVER \ -n PROJECT \ edit virtualmachines.virtualmachine.gdc.goog VM_NAME次の表で定義されているように、変数を置き換えます。
変数 定義 MANAGEMENT_API_SERVERManagement API サーバーの kubeconfig ファイル。 VM_NAMEVM の名前。 PROJECTプロジェクト名。 specを編集して、更新可能なプロパティに必要なフィールドと値を更新します。ファイルを保存します。
プロパティの更新で VM の再起動が必要な場合は、 VM を再起動する の手順に沿って VM を再起動します。