このドキュメントでは、ブートディスク イメージまたはブートディスク スナップショットを使用して仮想マシン(VM)インスタンスを作成する手順について説明します。
1 つ以上のディスクを含む VM を作成できます。作成後に VM にディスクを追加することもできます。Distributed Cloud は、作成後に VM インスタンスを自動的に起動します。
起動スクリプトは、作成前または作成後に VM に追加することもできます。詳細については、VM インスタンスで起動スクリプトを使用するをご覧ください。
このドキュメントは、Google Distributed Cloud(GDC)のエアギャップ環境で VM を作成して管理するプラットフォーム管理者またはアプリケーション オペレーター グループのデベロッパーを対象としています。詳細については、GDC エアギャップの対象読者に関するドキュメントをご覧ください。
始める前に
gdcloud コマンドライン インターフェース(CLI)コマンドを使用するには、gdcloud CLI をダウンロード、インストール、構成していることを確認します。Distributed Cloud のすべてのコマンドは gdcloud または kubectl CLI を使用し、オペレーティング システム(OS)環境が必要です。
kubeconfig ファイルのパスを取得する
Management API サーバーに対してコマンドを実行するには、次のリソースがあることを確認します。
まだ kubeconfig ファイルがない場合は、ログインして Management API サーバーの kubeconfig ファイルを生成します。
これらの手順では、Management API サーバーの kubeconfig ファイルのパスを使用して
MANAGEMENT_API_SERVERを置き換えます。
VM の命名ガイドライン
VM インスタンスを作成するときは、次の命名ガイドラインを参照してください。
- VM 名に使用できるのは英数字とダッシュのみです。
- 英数字とダッシュ以外の記号(ピリオドなど)を使用すると、VM への接続が失敗します。
- VM 名は 53 文字以下にする必要があります。
IAM ロールをリクエストする
プロジェクトに対する次のロールをリクエストするには、プロジェクト IAM 管理者にお問い合わせください。
仮想マシン プロジェクト管理者(
project-vm-admin): プロジェクト Namespace で VM を作成、変更、一覧表示、削除します。プロジェクト閲覧者(
project-viewer): プロジェクト名前空間内のすべてのリソースを表示します。仮想マシン イメージ プロジェクト管理者(
project-vm-image-admin): プロジェクト Namespace で、GDC 提供の VM イメージとカスタム VM イメージを作成、一覧表示、削除します。
すべての VM ロールは、VM が存在するプロジェクトの Namespace にバインドする必要があります。手順に沿ってアクセス権を確認します。
イメージから VM インスタンスを作成する
このセクションでは、GDC 提供の OS イメージまたはカスタム OS イメージから VM を作成する方法について説明します。
使用可能な GDC 提供のイメージのリストを表示する
GDC 提供のイメージを使用して VM を作成する前に、使用可能なイメージのリストを確認してください。GDC 提供のイメージの詳細については、サポートされている VM イメージをご覧ください。
gdcloud
使用可能なすべてのイメージとその最小ディスクサイズを一覧表示します。
gdcloud compute images listこのコマンドには、GDC 提供のイメージとカスタム イメージの両方が含まれます。
vm-systemNamespace のいずれかのイメージを選択します。
API
利用可能な GDC 提供のイメージをすべて一覧表示します。
kubectl --kubeconfig MANAGEMENT_API_SERVER \ -n vm-system \ get virtualmachineimage.virtualmachine.gdc.goog特定の GDC 提供イメージの
minimumDiskSizeを取得します。kubectl --kubeconfig MANAGEMENT_API_SERVER \ -n vm-system \ get virtualmachineimage.virtualmachine.gdc.goog BOOT_DISK_IMAGE_NAME \ -ojsonpath='{.spec.minimumDiskSize}{"\n"}'次のように置き換えます。
MANAGEMENT_API_SERVER: Management API サーバーの kubeconfig ファイル。BOOT_DISK_IMAGE_NAME: イメージの名前。
GDC 提供のイメージから VM インスタンスを作成する
デフォルトでは、すべての GDC プロジェクトで GDC 提供の OS イメージから VM を作成できます。
コンソール
- ナビゲーション メニューで、[Virtual Machines] > [インスタンス] を選択します。
- [インスタンスを作成] をクリックします。
- [名前] フィールドに、VM の名前を指定します。
- VM を作成するゾーンを選択します。
- 省略可: [ラベルを追加] をクリックして、VM にラベルを割り当てます。これにより、VM インスタンスを整理できます。
- VM に使用するマシン構成を選択します。
- 汎用: マシンタイプがワークロードの要件と一致していることを確認します。
- カスタム: マシンのコア数とメモリ要件を設定します。
- [次へ] をクリックします。
- 外部アクセスを有効にする場合は、[外部アクセスを許可] を選択します。
- [次へ] をクリックします。
- [ブートディスク] セクションでは、デフォルトの構成のブートディスクが自動的に追加されます。この構成をそのまま使用することも、[変更] をクリックしてデフォルトの構成を変更することもできます。
- [ディスクの詳細] セクションで、[ディスク名] を変更します。
- [ディスクの設定] セクションで、[サイズ] の値を変更します。
- [ソース画像] セクションで、[画像名] メニューをクリックし、画像を選択します。
- [セキュアブートをオンにします] をオンまたはオフにします。Windows イメージを使用する場合は、セキュアブートを有効にする必要があります。
- [ディスクを保持] または [ディスクを削除] を選択して、ディスクの削除ルールを構成します。
- [保存] をクリックします。
- [作成] をクリックして VM インスタンスを作成します。
gdcloud
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 文字以下にする必要があります。 MACHINE_TYPE新しい VM の事前定義されたマシンタイプ。使用可能なマシンタイプを選択するには、次のコマンドを実行します。
gdcloud compute machine-types listBOOT_DISK_IMAGE_NAME新しい VM ブートディスクに使用するイメージの名前。 BOOT_DISK_SIZEブートディスクのサイズ( 20GBなど)。
この値は、常にブートディスク イメージのminimumDiskSize以上である必要があります。NO_BOOT_DISK_AUTO_DELETEtrueまたはfalse。VM インスタンスが削除されたときにブートディスクが自動的に削除されるかどうかの逆を示します。
API
GDC 提供のイメージを選択して、ターゲット ゾーンに VM インスタンスを作成します。
kubectl --kubeconfig MANAGEMENT_API_SERVER \ -n PROJECT \ apply -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_SERVERManagement API サーバーの kubeconfig ファイル。 PROJECTVM を作成する GDC プロジェクト。 VM_BOOT_DISK_NAME新しい VM ブートディスクの名前。 BOOT_DISK_IMAGE_NAME新しい VM ブートディスクに使用するイメージの名前。 BOOT_DISK_SIZEブートディスクのサイズ( 20Giなど)。
この値は、常にブートディスク イメージのminimumDiskSize以上である必要があります。VM_NAME新しい VM の名前。名前には英数字とダッシュのみを使用でき、53 文字以下にする必要があります。 MACHINE_TYPE新しい VM の事前定義されたマシンタイプ。使用可能なマシンタイプを選択するには、次のコマンドを実行します。
kubectl --kubeconfig MANAGEMENT_API_SERVER get virtualmachinetype.virtualmachine.gdc.goog --namespace vm-systemBOOT_DISK_AUTO_DELETEtrueまたはfalse。VM インスタンスが削除されたときにブートディスクが自動的に削除されるかどうかを示します。VM が作成されたことを確認し、VM が
Running状態になるまで待ちます。Running状態は、OS の準備が完全に整い、アクセス可能であることを示すものではありません。kubectl --kubeconfig MANAGEMENT_API_SERVER \ -n PROJECT \ get virtualmachine.virtualmachine.gdc.goog VM_NAMEVM_NAMEとPROJECTは、VM の名前とプロジェクトに置き換えます。VM インスタンスの作成に起動スクリプトを追加するには、VM インスタンスで起動スクリプトを使用するページの手順に沿って操作します。スクリプトを追加する前に、VM をシャットダウンしてください。
カスタム イメージから VM インスタンスを作成する
カスタム イメージは、自分のプロジェクトにのみ属します。カスタム イメージで VM を作成するには、まず同じプロジェクトにカスタム イメージを作成する必要があります。
コンソール
- ナビゲーション メニューで、[Virtual Machines] > [インスタンス] を選択します。
- [インスタンスを作成] をクリックします。
- [名前] フィールドに、VM の名前を指定します。
- VM を作成するゾーンを選択します。
- 省略可: [ラベルを追加] をクリックして、VM にラベルを割り当てます。これにより、VM インスタンスを整理できます。
- VM に使用するマシン構成を選択します。
- 汎用: マシンタイプがワークロードの要件と一致していることを確認します。
- カスタム: マシンのコア数とメモリ要件を設定します。
- [次へ] をクリックします。
- [外部アクセスを許可する] チェックボックスをオンにして、VM インスタンスの外部アクセスを有効にします。
- [次へ] をクリックします。
- [ブートディスク] セクションでは、デフォルトの構成のブートディスクが自動的に追加されます。この構成をそのまま使用することも、[変更] をクリックしてデフォルトの構成を変更することもできます。
- [ディスクの詳細] セクションで、[ディスク名] を変更します。
- [ディスクの設定] セクションで、[サイズ] の値を変更します。
- [ソース画像] セクションで、[画像名] メニューをクリックし、[お客様が作成] というサブテキストが表示されている画像を選択します。
- [セキュアブートをオンにします] をオンまたはオフにします。Windows イメージを使用する場合は、セキュアブートを有効にする必要があります。
- [ディスクを保持] または [ディスクを削除] を選択して、ディスクの削除ルールを構成します。
- [保存] をクリックします。
- [作成] をクリックして VM インスタンスを作成します。
gdcloud
-
gdcloud compute images list --no-standard-images=true 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 文字以下にする必要があります。 MACHINE_TYPE新しい VM の事前定義されたマシンタイプ。使用可能なマシンタイプを選択するには、次のコマンドを実行します。
gdcloud compute machine-types listBOOT_DISK_IMAGE_NAME新しい VM ブートディスクに使用するイメージの名前。 BOOT_DISK_SIZEブートディスクのサイズ( 20GBなど)。
この値は、常にブートディスク イメージのminimumDiskSize以上である必要があります。NO_BOOT_DISK_AUTO_DELETEtrueまたはfalse。VM インスタンスが削除されたときにブートディスクが自動的に削除されるかどうかの逆を示します。
API
-
kubectl --kubeconfig MANAGEMENT_API_SERVER \ -n PROJECT \ get virtualmachineimage.virtualmachine.gdc.goog特定のイメージの
minimumDiskSizeを取得して、VM インスタンスを作成します。kubectl --kubeconfig MANAGEMENT_API_SERVER \ -n PROJECT \ get virtualmachineimage.virtualmachine.gdc.goog BOOT_DISK_IMAGE_NAME \ -ojsonpath='{.spec.minimumDiskSize}{"\n"}'次のように置き換えます。
変数 定義 MANAGEMENT_API_SERVERManagement API サーバーの kubeconfig ファイル。 PROJECTイメージのプロジェクト。 BOOT_DISK_IMAGE_NAMEすべてのカスタム イメージを一覧表示するコマンドから選択したイメージの名前。 VM インスタンスを作成します。
kubectl --kubeconfig MANAGEMENT_API_SERVER \ -n PROJECT \ apply -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_SERVERManagement API サーバーの kubeconfig ファイル。 PROJECTVM を作成する GDC プロジェクト。 VM_BOOT_DISK_NAME新しい VM ブートディスクの名前。 BOOT_DISK_IMAGE_NAME新しい VM ブートディスクに使用するイメージの名前。 BOOT_DISK_SIZEブートディスクのサイズ( 20Giなど)。
この値は、常にブートディスク イメージのminimumDiskSize以上である必要があります。VM_NAME新しい VM の名前。名前には英数字とダッシュのみを使用でき、53 文字以下にする必要があります。 MACHINE_TYPE新しい VM の事前定義されたマシンタイプ。使用可能なマシンタイプを選択するには、次のコマンドを実行します。
kubectl --kubeconfig MANAGEMENT_API_SERVER get virtualmachinetype.virtualmachine.gdc.goog --namespace vm-systemBOOT_DISK_AUTO_DELETEtrueまたはfalse。VM インスタンスが削除されたときにブートディスクが自動的に削除されるかどうかを示します。VM が作成されたことを確認し、VM が
Running状態になるまで待ちます。Running状態であることは、OS が完全に準備完了してアクセス可能であることを意味するわけではありません。kubectl --kubeconfig MANAGEMENT_API_SERVER \ -n PROJECT \ get virtualmachine.virtualmachine.gdc.goog VM_NAMEVM_NAMEとPROJECTは、VM の名前とプロジェクトに置き換えます。
追加の非ブートディスクを含む VM インスタンスを作成する
VM を作成するときに、非ブートディスクを作成できます。追加する各ディスクで、イメージソースを指定するかどうかを指定できます。後者は、空のディスクを作成する場合に使用します。
コンソール
- ナビゲーション メニューで、[Virtual Machines] > [インスタンス] を選択します。
- [インスタンスを作成] をクリックします。
- [名前] フィールドに、VM の名前を指定します。
- VM を作成するゾーンを選択します。
- 省略可: [ラベルを追加] をクリックして、VM にラベルを割り当てます。これにより、VM インスタンスを整理できます。
- VM に使用するマシン構成を選択します。
- 汎用: マシンタイプがワークロードの要件と一致していることを確認します。
- カスタム: マシンのコア数とメモリ要件を設定します。
- [次へ] をクリックします。
- [外部アクセスを許可する] チェックボックスをオンにして、VM インスタンスの外部アクセスを有効にします。
- [次へ] をクリックします。
- [ブートディスク] セクションでは、デフォルトの構成のブートディスクが自動的に追加されます。この構成をそのまま使用することも、[変更] をクリックしてデフォルトの構成を変更することもできます。
- [ディスクの詳細] セクションで、[ディスク名] を変更します。
- [ディスクの設定] セクションで、[サイズ] の値を変更します。
- [ソース画像] セクションで、[画像名] メニューをクリックし、画像を選択します。
- [セキュアブートをオンにします] をオンまたはオフにします。Windows イメージを使用する場合は、セキュアブートを有効にする必要があります。
- [ディスクを保持] または [ディスクを削除] を選択して、ディスクの削除ルールを構成します。
- [保存] をクリックします。
- VM インスタンスにディスクを追加するには、[新しいディスクを追加] を選択します。
- VM ディスクに名前を割り当てます。
- ディスクサイズとアタッチメントの設定を構成します。
- [保存] をクリックします。
- [作成] をクリックして VM インスタンスを作成します。
gdcloud
イメージからブートディスクを作成します。
gdcloud compute disks create VM_BOOT_DISK_NAME \ --size=BOOT_DISK_SIZE \ --image=BOOT_DISK_IMAGE_NAME \ --image-project=BOOT_DISK_IMAGE_NAMESPACEイメージから追加の非ブートディスクを作成します。
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空の非ブートディスクを作成します。
gdcloud compute disks create NON_BOOT_BLANK_DISK \ --size=NON_BOOT_BLANK_DISK_SIZE前の手順のディスクを使用してインスタンスを作成します。
gdcloud compute instances create VM_NAME \ --machine-type=MACHINE_TYPE \ --disk=name=VM_BOOT_DISK_NAME,boot=true \ --no-boot-disk-auto-delete=NO_BOOT_DISK_AUTO_DELETE \ --disk=name=NON_BOOT_DISK_FROM_IMAGE \ --disk=name=NON_BOOT_BLANK_DISK次のように置き換えます。
変数 定義 VM_BOOT_DISK_NAME新しい VM ブートディスクの名前。 BOOT_DISK_SIZEブートディスクのサイズ( 20GBなど)。
この値は、常にブートディスク イメージのminimumDiskSize以上である必要があります。BOOT_DISK_IMAGE_NAME新しい VM ブートディスクに使用するイメージの名前。 BOOT_DISK_IMAGE_NAMESPACE新しい VM のブートディスクに使用するイメージの名前空間。GDC 提供のイメージの場合は vm-systemを使用し、カスタム イメージの場合はフィールドを空白のままにします。NON_BOOT_DISK_FROM_IMAGEイメージから作成された追加の非ブートディスクの名前。 NON_BOOT_DISK_SIZE追加の非ブートディスクのサイズ( 20GBなど)。NON_BOOT_DISK_IMAGE_NAMEブートディスク以外のディスクに使用するイメージの名前。 NON_BOOT_DISK_IMAGE_NAMESPACEブートディスク以外のディスクに使用するイメージの Namespace。GDC 提供のイメージの場合は vm-systemを使用し、カスタム イメージの場合はフィールドを空白のままにします。NON_BOOT_BLANK_DISK追加の空の非ブートディスクの名前。 NON_BOOT_BLANK_DISK_SIZE追加する空の非ブートディスクのサイズ(例: 20GB)。VM_NAME新しい VM の名前。名前には英数字とダッシュのみを使用でき、53 文字以下にする必要があります。 MACHINE_TYPE新しい VM の事前定義されたマシンタイプ。使用可能なマシンタイプを選択するには、次のコマンドを実行します。
gdcloud compute machine-types listNO_BOOT_DISK_AUTO_DELETEtrueまたはfalse。VM インスタンスが削除されたときにブートディスクが自動的に削除されないかどうかを示します。
API
非ブートディスクを含む VM を作成します。
kubectl --kubeconfig MANAGEMENT_API_SERVER \ -n PROJECT \ apply -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_SERVERManagement API サーバーの kubeconfig ファイル。 PROJECTVM に作成する GDC プロジェクト。 NON_BOOT_DISK_FROM_IMAGEイメージから作成された追加の非ブートディスクの名前。 NON_BOOT_DISK_IMAGE_NAMEブートディスク以外のディスクに使用するイメージの名前。 NON_BOOT_DISK_IMAGE_NAMESPACEブートディスク以外のディスクに使用するイメージの Namespace。GDC 提供のイメージの場合は vm-systemを使用し、カスタム イメージの場合は空白にします。NON_BOOT_DISK_SIZEイメージから作成された追加の非ブートディスクのサイズ( 20Giなど)。NON_BOOT_BLANK_DISK追加の空の非ブートディスクの名前。 NON_BOOT_BLANK_DISK_SIZE追加する空の非ブートディスクのサイズ(例: 20Gi)。VM_BOOT_DISK_NAME新しい VM ブートディスクの名前。 BOOT_DISK_IMAGE_NAME新しい VM ブートディスクに使用するイメージの名前。 BOOT_DISK_IMAGE_NAMESPACE新しい VM のブートディスクに使用するイメージの名前空間。GDC 提供のイメージには名前空間 vm-systemを使用し、カスタム イメージには空白を使用します。BOOT_DISK_SIZEブートディスクのサイズ( 20Giなど)。
この値は、常にブートディスク イメージのminimumDiskSize以上である必要があります。VM_NAME新しい VM の名前。名前には英数字とダッシュのみを使用でき、53 文字以下にする必要があります。 MACHINE_TYPE新しい VM の事前定義されたマシンタイプ。使用可能なマシンタイプを選択するには、次のコマンドを実行します。
kubectl --kubeconfig MANAGEMENT_API_SERVER get virtualmachinetype.virtualmachine.gdc.goog --namespace vm-systemBOOT_DISK_AUTO_DELETEtrueまたはfalse。VM インスタンスが削除されたときにブートディスクが自動的に削除されるかどうかを示します。ディスクを使用する前に、ディスクをフォーマットしてマウントします。
スナップショットまたはバックアップから VM を作成する
次の方法で、スナップショットから新しい VM を作成できます。
- VM ブートディスクを復元する: VM のブートディスクをスナップショットでバックアップした場合は、そのスナップショットを使用して新しい VM を作成します。詳細については、スナップショットを復元するをご覧ください。
- 非ブートディスクを復元する: スナップショットで非ブートディスクをバックアップしている場合は、同じ手順で VM を作成する際にスナップショットを新しい非ブートディスクに復元することもできます。
同じブートディスクを使用して複数の VM を作成する手順は次のとおりです。
- カスタム イメージを作成する。
- スナップショットを使用せずに、そのイメージから VM を作成します。
指定した 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 を作成します。
サブネットの作成の詳細については、GDC のサブネットと IP アドレスをご覧ください。
このセクションでは、動的に割り当てられたアドレスまたは静的 IP アドレスを使用して VM を作成する方法について説明します。
カスタム サブネットから動的に割り当てられた IP を使用して VM を作成する
特定の CIDR から動的に割り当てられた IP を持つ VM を作成します。
kubectl --kubeconfig MANAGEMENT_API_SERVER \
-n PROJECT \
apply -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_BOOT_DISK_NAME |
新しい VM ブートディスクの名前。 |
BOOT_DISK_IMAGE_NAME |
新しい VM ブートディスクに使用するイメージの名前。 |
BOOT_DISK_SIZE |
ブートディスクのサイズ(20Gi など)。この値は常に、ブートディスク イメージの minimumDiskSize 以上である必要があります。 |
VM_NAME |
新しい VM の名前。名前には英数字とダッシュのみを使用できます。最大文字数は 53 文字です。 |
MACHINE_TYPE |
新しい VM の事前定義されたマシンタイプ。使用可能なマシンタイプを選択します。
kubectl --kubeconfig MANAGEMENT_API_SERVER get
virtualmachinetype.virtualmachine.gdc.goog --namespace vm-system
|
BOOT_DISK_AUTO_DELETE |
true または false。VM インスタンスが削除されたときにブートディスクが自動的に削除されるかどうかを示します。 |
SUBNET_NAME |
カスタム サブネットの名前。 |
サブネットから静的 IP を使用して VM を作成する
カスタム サブネットから静的 IP を使用して VM を作成します。
kubectl --kubeconfig MANAGEMENT_API_SERVER \
-n PROJECT \
apply -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_BOOT_DISK_NAME |
新しい VM ブートディスクの名前。 |
BOOT_DISK_IMAGE_NAME |
新しい VM ブートディスクに使用するイメージの名前。 |
BOOT_DISK_SIZE |
ブートディスクのサイズ(20Gi など)。この値は常に、ブートディスク イメージの minimumDiskSize 以上である必要があります。 |
VM_NAME |
新しい VM の名前。名前には英数字とダッシュのみを使用でき、53 文字以下にする必要があります。 |
MACHINE_TYPE |
新しい VM の事前定義されたマシンタイプ。使用可能なマシンタイプを選択するには、次のコマンドを実行します。
kubectl --kubeconfig MANAGEMENT_API_SERVER get
virtualmachinetype.virtualmachine.gdc.goog --namespace vm-system
|
BOOT_DISK_AUTO_DELETE |
true または false。VM インスタンスが削除されたときにブートディスクが自動的に削除されるかどうかを示します。 |
SUBNET_NAME |
カスタム サブネットの名前。 |
IP_ADDRESS |
IP アドレス。これは、選択したサブネット範囲内である必要があります。ipAddresses フィールドには 1 つの IP アドレスのみを指定できます。 |