仮想マシン(VM)インスタンスを作成する場合は、その VM 用のブートディスクも作成する必要があります。公開イメージまたはカスタム イメージを使用できます。VM インスタンスを作成すると、GDC によってブート永続ディスクが自動的に作成されます。インスタンスに追加のデータ ストレージ ディスクが必要な場合は、永続ディスクを VM に追加します。
このページで説明する手順に沿って、後で VM の作成に使用できるブートディスクを作成します。
始める前に
gdcloud コマンドライン インターフェース(CLI)コマンドを使用するには、gdcloud CLI をダウンロード、インストール、構成していることを確認してください。GDC エアギャップ アプライアンスのすべてのコマンドは gdcloud または kubectl CLI を使用し、オペレーティング システム(OS)環境が必要です。
kubeconfig ファイルのパスを取得する
Management API サーバーに対してコマンドを実行するには、次のリソースがあることを確認します。
- Management API サーバー名を確認するか、プラットフォーム管理者(PA)にサーバー名を確認します。 
- Management API サーバーの kubeconfig ファイルがない場合は、ログインして生成します。 
- この手順では、パスを使用して - MANAGEMENT_API_SERVER{"</var>"}}を置き換えます。
権限とアクセス権をリクエストする
このページに記載されているタスクを実行するには、VM ディスクへのアクセス権が必要です。次の手順に沿って、確認するか、プロジェクト IAM 管理者に VM が存在するプロジェクトの Namespace でプロジェクト VirtualMachine 管理者(project-vm-admin)ロールを割り当ててもらいます。
GDC コンソールまたは gdcloud CLI を使用する VM オペレーションの場合は、プロジェクト IAM 管理者に、プロジェクトの VirtualMachine 管理者ロールとプロジェクト閲覧者(project-viewer)ロールの両方を割り当てるよう依頼します。
イメージからブートディスクを作成する
インスタンスの作成とは別に、スタンドアロンのブート永続ディスクを作成し、後でインスタンスにアタッチできます。このセクションでは、GDC 提供の OS イメージまたはカスタム OS イメージからブートディスクを作成する方法について説明します。
GDC 提供のイメージからブートディスクを作成する
GDC 提供のイメージを使用してブートディスクを作成する前に、使用可能なイメージのリストを確認します。次に、指定されたイメージを使用してブートディスクを作成します。
gdcloud
- 使用可能なすべてのイメージとその最小ディスクサイズを一覧表示します。 - gdcloud compute images list- このコマンドには、GDC エアギャップ アプライアンスで提供されるイメージとカスタム イメージの両方が含まれます。 - vm-systemNamespace のいずれかを選択します。
- GDC エアギャップ アプライアンスで提供されるイメージを選択して、VM ディスクを作成します。 - gdcloud compute disks create BOOT_DISK_NAME \ --project=PROJECT \ --size=DISK_SIZE \ --image=IMAGE_NAME \ --image-project=vm-system- 次の定義を使用して変数を置き換えます。 - 変数 - 定義 - BOOT_DISK_NAME- ブートディスクの名前。 - PROJECT- ブートディスクを作成する GDC プロジェクト。 - DISK_SIZE- ブートディスクのサイズは、イメージの - minimumDiskSize以上にする必要があります。- IMAGE_NAME- 画像の名前。 
kubectl
- 利用可能な GDC 提供のイメージをすべて一覧表示します。 - kubectl --kubeconfig MANAGEMENT_API_SERVER \ get virtualmachineimages.virtualmachine.gdc.goog --namespace vm-system
- 特定の GDC 提供イメージの - minimumDiskSizeを取得します。作成されたカスタマイズされたブートディスクのサイズは、- minimumDiskSize以上にする必要があります。- kubectl --kubeconfig MANAGEMENT_API_SERVER \ get virtualmachineimages.virtualmachine.gdc.goog --namespace vm-system \ IMAGE_NAME -ojsonpath='{.spec.minimumDiskSize}'
- VirtualMachineDiskオブジェクトを作成します。- kubectl --kubeconfig MANAGEMENT_API_SERVER apply -n PROJECT -f - <<EOF apiVersion: virtualmachine.gdc.goog/v1 kind: VirtualMachineDisk metadata: name: BOOT_DISK_NAME spec: source: image: name: IMAGE_NAME namespace: vm-system size: DISK_SIZE EOF- 次の定義を使用して変数を置き換えます。 - 変数 - 定義 - MANAGEMENT_API_SERVER- Management API サーバーの - kubeconfigファイル。- IMAGE_NAME- 画像の名前。 - PROJECT- ブートディスクを作成する GDC プロジェクト。 - BOOT_DISK_NAME- ブートディスクの名前。 - DISK_SIZE- ブートディスクのサイズは、イメージの - minimumDiskSize以上にする必要があります。
カスタム イメージからブートディスクを作成する
カスタム イメージは、自分のプロジェクトにのみ属します。カスタム ブートディスク イメージを使用して VM を作成するには、イメージがプロジェクトにまだ存在しない場合は、イメージを作成する必要があります。
まだ設定していない場合は、プロジェクト内のカスタム イメージにアクセスするために必要な IAM ロールを設定します。その後、こちらの手順に進みます。
gdcloud
- すべてのカスタム イメージとその最小ディスクサイズを一覧表示します。 - gdcloud compute images list \ --project=PROJECT \
- カスタム イメージを選択して VM ディスクを作成します。 - gdcloud compute disks create BOOT_DISK_NAME \ --project=PROJECT \ --size=DISK_SIZE \ --image=IMAGE_NAME \ --image-project=PROJECT- 次の定義を使用して変数を置き換えます。 - 変数 - 定義 - BOOT_DISK_NAME- ブートディスクの名前。 - PROJECT- ブートディスクを作成する GDC プロジェクト。 - DISK_SIZE- ブートディスクのサイズは、イメージの - minimumDiskSize以上にする必要があります。- IMAGE_NAME- 画像の名前。 
kubectl
- 
kubectl --kubeconfig MANAGEMENT_API_SERVER \ get virtualmachineimages.virtualmachine.gdc.goog --namespace PROJECT
- 特定のカスタマイズされたイメージの - minimumDiskSizeを取得します。作成されたカスタマイズされたブートディスクのサイズは、- minimumDiskSize以上にする必要があります。- kubectl --kubeconfig MANAGEMENT_API_SERVER \ get virtualmachineimages.virtualmachine.gdc.goog --namespace vm-system \ IMAGE_NAME -ojsonpath='{.spec.minimumDiskSize}'
- VirtualMachineDiskオブジェクトを作成します。- kubectl --kubeconfig MANAGEMENT_API_SERVER \ apply --namespace PROJECT -f - <<EOF apiVersion: virtualmachine.gdc.goog/v1 kind: VirtualMachineDisk metadata: name: BOOT_DISK_NAME spec: source: image: name: IMAGE_NAME namespace: PROJECT size: DISK_SIZE EOF- 次の定義を使用して、変数を置き換えます。 - 変数 - 定義 - MANAGEMENT_API_SERVER- Management API サーバーの - kubeconfigファイル。- IMAGE_NAME- すべてのカスタム イメージを一覧表示するコマンドで選択したイメージの名前。 - PROJECT- ブートディスクを作成する GDC プロジェクト。 - BOOT_DISK_NAME- ブートディスクの名前。 - DISK_SIZE- ブートディスクのサイズは、イメージの - minimumDiskSize以上にする必要があります。
ブートディスクを交換するには、ブートディスクを交換するをご覧ください。