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