VM インスタンスの作成と開始

このページでは、ブートディスク イメージまたはブートディスク スナップショットを使用して仮想マシン(VM)インスタンスを作成する手順について説明します。

1 つ以上のディスクを含む VM を作成できます。作成後に VM にディスクを追加することもできます。Google Distributed Cloud(GDC)エアギャップは、作成後に VM インスタンスを自動的に起動します。

起動スクリプトは、VM の作成前または作成後に追加できます。起動スクリプトの詳細については、VM インスタンスで起動スクリプトを使用するをご覧ください。

始める前に

gdcloud コマンドライン インターフェース(CLI)コマンドを使用するには、gdcloud CLI をダウンロード、インストール、構成していることを確認してください。Distributed Cloud のすべてのコマンドは gdcloud または kubectl CLI を使用し、オペレーティング システム(OS)環境が必要です。

kubeconfig ファイルのパスを取得する

Management API サーバーに対してコマンドを実行するには、次のリソースがあることを確認します。

  1. Management API サーバーの kubeconfig ファイルがない場合は、ログインして生成します。

  2. これらの手順では、Management API サーバーの kubeconfig ファイルのパスを使用して MANAGEMENT_API_SERVER を置き換えます。

権限とアクセス権をリクエストする

このページに記載されているタスクを行うには、プロジェクトの VirtualMachine 管理者ロールが必要です。VM が存在するプロジェクトの名前空間にプロジェクト VirtualMachine 管理者(project-vm-admin)ロールがあることを確認する手順に沿って操作します。

GDC コンソールまたは gdcloud CLI を使用する VM オペレーションの場合は、プロジェクト IAM 管理者に、プロジェクトの VirtualMachine 管理者ロールとプロジェクト閲覧者(project-viewer)ロールの両方を割り当てるよう依頼します。

イメージから VM インスタンスを作成する

このセクションでは、GDC 提供の OS イメージまたはカスタム OS イメージから VM を作成する方法について説明します。

利用可能な GDC 提供のイメージのリストを表示する

GDC 提供のイメージを使用して VM を作成する前に、使用可能なイメージのリストを確認します。GDC 提供のイメージの詳細については、サポートされている VM イメージをご覧ください。

gdcloud

  • 使用可能なすべてのイメージとその最小ディスクサイズを一覧表示します。

    gdcloud compute images list
    

    このコマンドには、GDC 提供のイメージとカスタム イメージの両方が含まれます。vm-system Namespace のいずれかのイメージを選択します。

API

  1. 利用可能な GDC 提供のイメージをすべて一覧表示します。

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
    get virtualmachineimage.virtualmachine.gdc.goog --namespace vm-system
    
  2. 特定の GDC 提供イメージの minimumDiskSize を取得します。

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
        get virtualmachineimage.virtualmachine.gdc.goog --namespace vm-system \
        BOOT_DISK_IMAGE_NAME -ojsonpath='{.spec.minimumDiskSize}{"\n"}'
    

    次のように置き換えます。

    • MANAGEMENT_API_SERVER: Management API サーバーの kubeconfig ファイル。
    • BOOT_DISK_IMAGE_NAME: イメージの名前。

GDC 提供のイメージから VM インスタンスを作成する

デフォルトでは、すべての GDC プロジェクトで GDC 提供の OS イメージから VM を作成できます。

gdcloud

  1. GDC 提供のイメージを選択して VM インスタンスを作成します。

    gdcloud compute instances create VM_NAME \
        --machine-type=MACHINE_TYPE \
        --image=BOOT_DISK_IMAGE_NAME --image-project=vm-system \
        --boot-disk-size=BOOT_DISK_SIZE \
        --no-boot-disk-auto-delete=NO_BOOT_DISK_AUTO_DELETE
    

    次のように置き換えます。

    変数定義
    VM_NAME 新しい VM の名前。名前には英数字とダッシュのみを使用し、53 文字以下にする必要があります。
    BOOT_DISK_IMAGE_NAME 新しい VM のブートディスクに使用するイメージの名前。
    BOOT_DISK_SIZE ブートディスクのサイズ(20GB など)。
    この値は、常にブートディスク イメージの minimumDiskSize 以上である必要があります。
    NO_BOOT_DISK_AUTO_DELETE true または false。VM インスタンスが削除されたときにブートディスクが自動的に削除されるかどうかの逆を示します。
    MACHINE_TYPE 新しい VM の事前定義されたマシンタイプ。使用可能なマシンタイプを選択するには、次のコマンドを実行します。
    gdcloud compute machine-types list

API

  1. GDC 提供のイメージを選択して VM インスタンスを作成します。

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
        apply -n PROJECT -f - <<EOF
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachineDisk
    metadata:
      name: VM_BOOT_DISK_NAME
    spec:
      source:
        image:
          name: BOOT_DISK_IMAGE_NAME
          namespace: vm-system
      size: BOOT_DISK_SIZE
    ---
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachine
    metadata:
      name: VM_NAME
    spec:
      compute:
        virtualMachineType: MACHINE_TYPE
      disks:
        - virtualMachineDiskRef:
            name: VM_BOOT_DISK_NAME
          boot: true
          autoDelete: BOOT_DISK_AUTO_DELETE
    EOF
    

    次のように置き換えます。

    変数定義
    MANAGEMENT_API_SERVER Management API サーバーの kubeconfig ファイル。
    PROJECT VM を作成する GDC プロジェクト。
    VM_NAME 新しい VM の名前。名前には英数字とダッシュのみを使用し、53 文字以下にする必要があります。
    VM_BOOT_DISK_NAME 新しい VM ブートディスクの名前。
    BOOT_DISK_IMAGE_NAME 新しい VM のブートディスクに使用するイメージの名前。
    BOOT_DISK_SIZE ブートディスクのサイズ(20Gi など)。
    この値は、常にブートディスク イメージの minimumDiskSize 以上である必要があります。
    BOOT_DISK_AUTO_DELETE true または false。VM インスタンスが削除されたときにブートディスクが自動的に削除されるかどうかを示します。
    MACHINE_TYPE 新しい VM の事前定義されたマシンタイプ。使用可能なマシンタイプを選択するには、次のコマンドを実行します。
    gdcloud compute machine-types list
  2. VM が作成されたことを確認し、VM が Running 状態になるまで待ちます。Running 状態は、OS の準備が完全に整い、アクセス可能であることを示すものではありません。

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
    get virtualmachine.virtualmachine.gdc.goog VM_NAME -n PROJECT
    

    VM_NAMEPROJECT は、VM の名前とプロジェクトに置き換えます。

    VM インスタンスの作成に起動スクリプトを追加するには、VM インスタンスで起動スクリプトを使用するページの手順に沿って操作します。スクリプトを追加する前に、VM をシャットダウンしてください。

カスタム イメージから VM インスタンスを作成する

カスタム イメージは、自分のプロジェクトにのみ属します。カスタム イメージで VM を作成するには、まず同じプロジェクトにカスタム イメージを作成する必要があります。

gdcloud

  1. すべてのカスタム イメージを一覧表示する:

    gdcloud compute images list --no-standard-images=true
    
  2. VM インスタンスを作成します。

    gdcloud compute instances create VM_NAME \
        --machine-type=MACHINE_TYPE \
        --image=BOOT_DISK_IMAGE_NAME \
        --boot-disk-size=BOOT_DISK_SIZE \
        --no-boot-disk-auto-delete=NO_BOOT_DISK_AUTO_DELETE
    

    次のように置き換えます。

    変数定義
    VM_NAME 新しい VM の名前。名前には英数字とダッシュのみを使用し、53 文字以下にする必要があります。
    BOOT_DISK_IMAGE_NAME 新しい VM のブートディスクに使用するイメージの名前。
    BOOT_DISK_SIZE ブートディスクのサイズ(20GB など)。
    この値は、常にブートディスク イメージの minimumDiskSize 以上である必要があります。
    NO_BOOT_DISK_AUTO_DELETE true または false。VM インスタンスが削除されたときにブートディスクが自動的に削除されるかどうかの逆を示します。
    MACHINE_TYPE 新しい VM の事前定義されたマシンタイプ。使用可能なマシンタイプを選択するには、次のコマンドを実行します。
    gdcloud compute machine-types list

API

  1. すべてのカスタム イメージを一覧表示する:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
        get virtualmachineimage.virtualmachine.gdc.goog --namespace PROJECT
    

    特定のイメージの minimumDiskSize を取得して、VM インスタンスを作成します。

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
        get virtualmachineimage.virtualmachine.gdc.goog --namespace PROJECT \
        BOOT_DISK_IMAGE_NAME -ojsonpath='{.spec.minimumDiskSize}{"\n"}'
    

    次のように置き換えます。

    変数定義
    MANAGEMENT_API_SERVER Management API サーバーの kubeconfig ファイル。
    BOOT_DISK_IMAGE_NAME すべてのカスタム イメージを一覧表示するコマンドから選択したイメージの名前。
    PROJECT イメージのプロジェクト。
  2. VM インスタンスを作成します。

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
        apply -n PROJECT -f - <<EOF
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachineDisk
    metadata:
      name: VM_BOOT_DISK_NAME
    spec:
      source:
        image:
          name: BOOT_DISK_IMAGE_NAME
      size: BOOT_DISK_SIZE
    ---
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachine
    metadata:
      name: VM_NAME
    spec:
      compute:
        virtualMachineType: MACHINE_TYPE
      disks:
        - virtualMachineDiskRef:
            name: VM_BOOT_DISK_NAME
          boot: true
          autoDelete: BOOT_DISK_AUTO_DELETE
    EOF
    

    次のように置き換えます。

    変数定義
    MANAGEMENT_API_SERVER Management API サーバーの kubeconfig ファイル。
    PROJECT VM を作成する GDC プロジェクト。
    VM_NAME 新しい VM の名前。名前には英数字とダッシュのみを使用し、53 文字以下にする必要があります。
    VM_BOOT_DISK_NAME 新しい VM ブートディスクの名前。
    BOOT_DISK_IMAGE_NAME 新しい VM のブートディスクに使用するイメージの名前。
    BOOT_DISK_SIZE ブートディスクのサイズ(20Gi など)。
    この値は、常にブートディスク イメージの minimumDiskSize 以上である必要があります。
    BOOT_DISK_AUTO_DELETE true または false。VM インスタンスが削除されたときにブートディスクが自動的に削除されるかどうかを示します。
    MACHINE_TYPE 新しい VM の事前定義されたマシンタイプ。使用可能なマシンタイプを選択するには、次のコマンドを実行します。
    kubectl --kubeconfig MANAGEMENT_API_SERVER get virtualmachinetype.virtualmachine.gdc.goog --namespace vm-system
  3. VM が作成されたことを確認し、VM が Running 状態になるまで待ちます。Running 状態であることは、OS の準備が完全に整い、アクセス可能であることを意味するわけではありません。

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
    get virtualmachine.virtualmachine.gdc.goog VM_NAME -n PROJECT
    

    VM_NAMEPROJECT は、VM の名前とプロジェクトに置き換えます。

追加の非ブートディスクを含む VM インスタンスを作成する

VM を作成するときに、非ブートディスクを作成できます。追加する各ディスクで、イメージソースを指定するかどうかを指定できます。後者は、空のディスクを作成する場合に使用します。

gdcloud

  1. イメージからディスクを作成します。

    gdcloud compute disks create NON_BOOT_DISK_FROM_IMAGE \
        --size=NON_BOOT_DISK_SIZE \
        --image=NON_BOOT_DISK_IMAGE_NAME \
        --image-project=NON_BOOT_DISK_IMAGE_NAMESPACE
    
  2. 空白のイメージからディスクを作成します。

    gdcloud compute disks create NON_BOOT_BLANK_DISK \
        --size=NON_BOOT_BLANK_DISK_SIZE \
    
  3. 前の手順のディスクを使用してインスタンスを作成します。

    gdcloud compute instances create VM_NAME \
        --machine-type=MACHINE_TYPE \
        --image=BOOT_DISK_IMAGE_NAME --image-project=vm-system \
        --boot-disk-size=BOOT_DISK_SIZE \
        --no-boot-disk-auto-delete=NO_BOOT_DISK_AUTO_DELETE \
        --disk=name=NON_BOOT_DISK_FROM_IMAGE \
        --disk=name=NON_BOOT_BLANK_DISK
    

    次のように置き換えます。

    変数定義
    VM_NAME 新しい VM の名前。名前には英数字とダッシュのみを使用し、53 文字以下にする必要があります。
    BOOT_DISK_IMAGE_NAME 新しい VM のブートディスクに使用するイメージの名前。
    BOOT_DISK_IMAGE_NAMESPACE 新しい VM ブートディスクに使用するイメージの名前空間。GDC 提供のイメージの場合は `vm-system` を使用し、カスタム イメージの場合はフィールドを空白のままにします。
    BOOT_DISK_SIZE ブートディスクのサイズ(20GB など)。
    この値は、常にブートディスク イメージの minimumDiskSize 以上である必要があります。
    NO_BOOT_DISK_AUTO_DELETE true または false。VM インスタンスが削除されたときにブートディスクが自動的に削除されるかどうかの逆を示します。
    MACHINE_TYPE 新しい VM の事前定義されたマシンタイプ。使用可能なマシンタイプを選択するには、次のコマンドを実行します。
    gdcloud compute machine-types list

    追加のディスクの場合は、次のように置き換えます。

    • NON_BOOT_DISK_FROM_IMAGENON_BOOT_BLANK_DISK: 追加ディスクの名前。
    • NON_BOOT_DISK_SIZENON_BOOT_BLANK_DISK_SIZE: 追加ディスクのサイズ(例: 20GB)。
    • NON_BOOT_DISK_IMAGE_NAME: 非ブートディスクとして使用するイメージの名前。
    • NON_BOOT_DISK_IMAGE_NAMESPACE: 非ブートディスクとして使用するイメージの Namespace。GDC 提供のイメージの場合は vm-system を使用し、カスタム イメージの場合はフィールドを空白のままにします。

API

  1. 非ブートディスクを含む VM を作成します。

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
        apply -n PROJECT -f - <<EOF
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachineDisk
    metadata:
      name: NON_BOOT_DISK_FROM_IMAGE
    spec:
      source:
        image:
          name: NON_BOOT_DISK_IMAGE_NAME
          namespace: NON_BOOT_DISK_IMAGE_NAMESPACE
      size: NON_BOOT_DISK_SIZE
    ---
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachineDisk
    metadata:
      name: NON_BOOT_BLANK_DISK
    spec:
      size: NON_BOOT_BLANK_DISK_SIZE
    ---
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachineDisk
    metadata:
      name: VM_BOOT_DISK_NAME
    spec:
      source:
        image:
          name: BOOT_DISK_IMAGE_NAME
          namespace: BOOT_DISK_IMAGE_NAMESPACE
      size: BOOT_DISK_SIZE
    ---
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachine
    metadata:
      name: VM_NAME
    spec:
      compute:
        virtualMachineType: MACHINE_TYPE
      disks:
        - virtualMachineDiskRef:
            name: VM_BOOT_DISK_NAME
          boot: true
          autoDelete: BOOT_DISK_AUTO_DELETE
        - virtualMachineDiskRef:
            name: NON_BOOT_DISK_FROM_IMAGE
        - virtualMachineDiskRef:
            name: NON_BOOT_BLANK_DISK
    EOF
    

    次のように置き換えます。

    変数定義
    MANAGEMENT_API_SERVER Management API サーバーの kubeconfig ファイル。
    PROJECT VM に作成する GDC プロジェクト。
    VM_NAME 新しい VM の名前。名前には英数字とダッシュのみを使用し、53 文字以下にする必要があります。
    VM_BOOT_DISK_NAME 新しい VM ブートディスクの名前。
    BOOT_DISK_IMAGE_NAME 新しい VM のブートディスクに使用するイメージの名前。
    BOOT_DISK_IMAGE_NAMESPACE 新しい VM ブートディスクに使用するイメージの名前空間。GDC 提供のイメージの場合は名前空間 vm-system を使用し、カスタム イメージの場合は空白にします。
    BOOT_DISK_SIZE ブートディスクのサイズ(20Gi など)。
    この値は、常にブートディスク イメージの minimumDiskSize 以上である必要があります。
    BOOT_DISK_AUTO_DELETE true または false。VM インスタンスが削除されたときにブートディスクが自動的に削除されるかどうかを示します。
    MACHINE_TYPE 新しい VM の事前定義されたマシンタイプ。使用可能なマシンタイプを選択するには、次のコマンドを実行します。
    kubectl --kubeconfig MANAGEMENT_API_SERVER get virtualmachinetype.virtualmachine.gdc.goog --namespace vm-system

    追加のディスクの場合は、次のように置き換えます。

    • NON_BOOT_DISK_FROM_IMAGENON_BOOT_BLANK_DISK: 追加ディスクの名前。
    • NON_BOOT_DISK_SIZENON_BOOT_BLANK_DISK_SIZE: 追加ディスクのサイズ(例: 20Gi)。
    • NON_BOOT_DISK_IMAGE_NAME: 非ブートディスクとして使用するイメージの名前。
    • NON_BOOT_DISK_IMAGE_NAMESPACE: 非ブートディスクとして使用するイメージの Namespace。GDC 提供のイメージの場合は名前空間 vm-system を使用し、カスタム イメージの場合は空白にします。

    ディスクを使用する前に、ディスクをフォーマットしてマウントします。

スナップショットまたはバックアップから VM を作成する

次の方法で、スナップショットから新しい VM を作成できます。

  • VM ブートディスクを復元する: スナップショットで VM のブートディスクをバックアップした場合は、そのスナップショットを使用して新しい VM を作成します。スナップショットを復元するをご覧ください。
    • 非ブートディスクを復元する: スナップショットで非ブートディスクをバックアップしている場合は、同じ手順で VM を作成する際にスナップショットを新しい非ブートディスクに復元することもできます。

同じブートディスクを使用して複数の VM を作成する手順は次のとおりです。

  1. カスタム イメージを作成する
  2. スナップショットを使用せずに、そのイメージから VM を作成します。

マシンタイプを使用せずに VM を作成する

Distributed Cloud は、VM インスタンスの作成時に使用できる事前定義されたマシンタイプを提供しています。事前定義されたマシンタイプには、vCPU の数とメモリ容量がプリセットされています。

事前定義された VM がニーズに合わない場合は、カスタムの仮想ハードウェア設定を使用して VM インスタンスを作成します。

カスタム VM は、次のようなシナリオに適しています。

  • 事前定義された VM タイプに適用できないワークロード。
  • 処理能力やメモリがさらに必要だが、次のレベルのマシンタイプで提供されるアップグレードをすべては必要としないワークロード。

gdcloud

  1. 定義したマシンタイプを使用して VM を作成します。

    gdcloud compute instances create VM_NAME \
        --custom-cpu=NUM_VCPU \
        --custom-memory=MEMORY
        --image=BOOT_DISK_IMAGE_NAME --image-project=vm-system \
        --boot-disk-size=BOOT_DISK_SIZE \
        --no-boot-disk-auto-delete=NO_BOOT_DISK_AUTO_DELETE
    

    次のように置き換えます。

    変数定義
    VM_NAME 新しい VM の名前。名前には英数字とダッシュのみを使用し、53 文字以下にする必要があります。
    BOOT_DISK_IMAGE_NAME 新しい VM のブートディスクに使用するイメージの名前。
    BOOT_DISK_SIZE ブートディスクのサイズ(20GB など)。
    この値は、常にブートディスク イメージの minimumDiskSize 以上である必要があります。
    NO_BOOT_DISK_AUTO_DELETE true または false。VM インスタンスが削除されたときにブートディスクが自動的に削除されるかどうかの逆を示します。
    NUM_VCPU vCPU の数。サポートされている vCPU の最大数は 192 です。
    MEMORY メモリサイズ(8G など)。最大メモリサイズは 1 テラバイト(TB)です。

API

  1. 定義したマシンタイプを使用して VM を作成します。

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
        apply -n PROJECT -f - <<EOF
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachineDisk
    metadata:
      name: VM_BOOT_DISK_NAME
    spec:
      source:
        image:
          name: BOOT_DISK_IMAGE_NAME
          namespace: vm-system
      size: BOOT_DISK_SIZE
    ---
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachine
    metadata:
      name: VM_NAME
    spec:
      compute:
        vcpus: NUM_VCPU
        memory: MEMORY
      disks:
        - virtualMachineDiskRef:
            name: VM_BOOT_DISK_NAME
          boot: true
          autoDelete: BOOT_DISK_AUTO_DELETE
    EOF
    

    次のように置き換えます。

    変数定義
    MANAGEMENT_API_SERVER Management API サーバーの kubeconfig ファイル。
    PROJECT VM を作成する Distributed Cloud プロジェクト。
    VM_NAME 新しい VM の名前。名前には英数字とダッシュのみを使用し、53 文字以下にする必要があります。
    VM_BOOT_DISK_NAME 新しい VM ブートディスクの名前。
    BOOT_DISK_IMAGE_NAME 新しい VM のブートディスクに使用するイメージの名前。
    BOOT_DISK_SIZE ブートディスクのサイズ(20Gi など)。
    この値は、常にブートディスク イメージの minimumDiskSize 以上である必要があります。
    BOOT_DISK_AUTO_DELETE true または false。VM インスタンスが削除されたときにブートディスクが自動的に削除されるかどうかを示します。
    NUM_VCPU vCPU の数。サポートされている vCPU の最大数は 192 です。
    MEMORY メモリサイズ(8G など)。最大メモリサイズは 1 TB です。

指定した IP アドレスとサブネットを使用して VM インスタンスを作成する

デフォルトでは、ネットワーク仕様なしで Distributed Cloud VM を作成できます。このタイプの VM はデフォルトの Virtual Private Cloud(VPC)に接続し、デフォルトのサブネットから IP を動的に割り当てます。デフォルト構成で VM を作成するには、GDC 提供のイメージを使用して VM を作成するをご覧ください。

Distributed Cloud VM のデフォルトの IP 構成を使用しない場合は、動的 IP アドレスまたは静的 IP アドレスを使用して VM を作成できます。

  • カスタム サブネットからの動的 IP: 特定の CIDR を持つサブネットを作成し、その CIDR から動的に割り当てられた IP を持つ VM を作成します。

  • カスタム サブネットの静的 IP: 特定の CIDR を持つサブネットを作成し、その CIDR から静的 IP を持つ VM を作成します。

このセクションでは、動的に割り当てられたアドレスまたは静的 IP アドレスを使用して VM を作成する方法について説明します。

カスタム サブネットから動的に割り当てられた IP を使用して VM を作成する

特定の CIDR から動的に割り当てられた IP を持つ VM を作成します。

   kubectl --kubeconfig MANAGEMENT_API_SERVER \
       apply -n PROJECT -f - <<EOF
   apiVersion: virtualmachine.gdc.goog/v1
   kind: VirtualMachineDisk
   metadata:
     name: VM_BOOT_DISK_NAME
   spec:
     source:
       image:
         name: BOOT_DISK_IMAGE_NAME
         namespace: vm-system
     size: BOOT_DISK_SIZE
   ---
   apiVersion: virtualmachine.gdc.goog/v1
   kind: VirtualMachine
   metadata:
     name: VM_NAME
   spec:
     compute:
       virtualMachineType: MACHINE_TYPE
     disks:
       - virtualMachineDiskRef:
           name: VM_BOOT_DISK_NAME
         boot: true
         autoDelete: BOOT_DISK_AUTO_DELETE
     network:
       interfaces:
       - subnet: SUBNET_NAME
   EOF

次の変数を置き換えます。

変数定義
MANAGEMENT_API_SERVER Management API サーバーの kubeconfig ファイル。
PROJECT VM を作成する Distributed Cloud プロジェクト。
VM_NAME 新しい VM の名前。名前には英数字とダッシュのみを使用できます(最大 53 文字)。
VM_BOOT_DISK_NAME 新しい VM ブートディスクの名前。
BOOT_DISK_IMAGE_NAME 新しい VM のブートディスクに使用するイメージの名前。
BOOT_DISK_SIZE ブートディスクのサイズ(20Gi など)。
この値は常に、ブートディスク イメージの minimumDiskSize 以上である必要があります。
BOOT_DISK_AUTO_DELETE true または false。VM インスタンスが削除されたときにブートディスクが自動的に削除されるかどうかを示します。
MACHINE_TYPE 新しい VM の事前定義されたマシンタイプ。使用可能なマシンタイプを選択します。
kubectl --kubeconfig MANAGEMENT_API_SERVER get virtualmachinetype.virtualmachine.gdc.goog --namespace vm-system
SUBNET_NAME カスタム サブネットの名前。

サブネットから静的 IP を使用して VM を作成する

カスタム サブネットから静的 IP を使用して VM を作成します。

   kubectl --kubeconfig MANAGEMENT_API_SERVER \
       apply -n PROJECT -f - <<EOF
   apiVersion: virtualmachine.gdc.goog/v1
   kind: VirtualMachineDisk
   metadata:
     name: VM_BOOT_DISK_NAME
   spec:
     source:
       image:
         name: BOOT_DISK_IMAGE_NAME
         namespace: vm-system
     size: BOOT_DISK_SIZE
   ---
   apiVersion: virtualmachine.gdc.goog/v1
   kind: VirtualMachine
   metadata:
     name: VM_NAME
   spec:
     compute:
       virtualMachineType: MACHINE_TYPE
     disks:
       - virtualMachineDiskRef:
           name: VM_BOOT_DISK_NAME
         boot: true
         autoDelete: BOOT_DISK_AUTO_DELETE
     network:
       interfaces:
       - subnet: SUBNET_NAME
         ipAddresses:
         - address: IP_ADDRESS
   EOF

次の変数を置き換えます。

変数定義
MANAGEMENT_API_SERVER Management API サーバーの kubeconfig ファイル。
PROJECT VM を作成する Distributed Cloud プロジェクト。
VM_NAME 新しい VM の名前。名前には英数字とダッシュのみを使用でき、53 文字以下にする必要があります。
VM_BOOT_DISK_NAME 新しい VM ブートディスクの名前。
BOOT_DISK_IMAGE_NAME 新しい VM のブートディスクに使用するイメージの名前。
BOOT_DISK_SIZE ブートディスクのサイズ(20Gi など)。
この値は常に、ブートディスク イメージの minimumDiskSize 以上である必要があります。
BOOT_DISK_AUTO_DELETE true または false。VM インスタンスが削除されたときにブートディスクが自動的に削除されるかどうかを示します。
MACHINE_TYPE 新しい VM の事前定義されたマシンタイプ。使用可能なマシンタイプを選択するには、次のコマンドを実行します。
kubectl --kubeconfig MANAGEMENT_API_SERVER get virtualmachinetype.virtualmachine.gdc.goog --namespace vm-system
SUBNET_NAME カスタム サブネットの名前。
IP_ADDRESS IP アドレス。これは、選択したサブネット範囲内である必要があります。ipAddresses フィールドで指定できる IP アドレスは 1 つだけです。