VM インスタンスを作成すると、Distributed Cloud はデフォルト構成でブート永続ディスクを自動的に作成します。また、VM 用のブートディスクも作成する必要があります。公開イメージまたはカスタム イメージを使用できます。
インスタンスに追加のデータ ストレージ ディスクが必要な場合は、永続ディスクを VM に追加します。
このドキュメントは、VM のカスタマイズされたブートディスクを作成するプラットフォーム管理者またはアプリケーション オペレーター グループのデベロッパーを対象としています。詳細については、GDC エアギャップ ドキュメントの対象読者をご覧ください。
始める前に
gdcloud コマンドライン インターフェース(CLI)コマンドを使用するには、gdcloud CLI をダウンロード、インストール、構成していることを確認してください。Distributed Cloud のすべてのコマンドは gdcloud または kubectl CLI を使用し、オペレーティング システム(OS)環境を必要とします。
kubeconfig ファイルのパスを取得する
Management API サーバーに対してコマンドを実行するには、次のリソースが必要です。
Management API サーバーの kubeconfig ファイルがない場合は、ログインして生成します。
これらの手順では、
MANAGEMENT_API_SERVERを Management API サーバーの kubeconfig ファイルのパスに置き換えます。
IAM ロールをリクエストする
IAM プロジェクト管理者に連絡して、プロジェクトに対する次のロールをリクエストしてください。
仮想マシン プロジェクト管理者(
project-vm-admin): プロジェクトの名前空間で標準 VM と高パフォーマンス VM を作成、変更、一覧表示、削除します。プロジェクト閲覧者(
project-viewer): プロジェクトの名前空間内のすべてのリソースを表示します。
すべての VM ロールは、VM が存在するプロジェクトの Namespace にバインドする必要があります。手順に沿ってアクセス権を確認します。
ブートディスクを作成する
このページで説明する手順に沿って、後で 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_SERVERManagement API サーバーの kubeconfig ファイル。 IMAGE_NAME画像の名前。 PROJECTブートディスクを作成する GDC プロジェクト。 BOOT_DISK_NAMEブートディスクの名前。 DISK_SIZEブートディスクのサイズは、イメージの minimumDiskSize以上にする必要があります。
カスタム イメージからブートディスクを作成する
カスタム イメージは、プロジェクトにのみ属します。カスタム イメージを使用して VM を作成するには、まず同じプロジェクトにカスタム イメージを作成する必要があります(まだ作成していない場合)。
プロジェクト内のカスタム イメージにアクセスするために必要な IAM ロールを設定します(まだ設定していない場合)。その後、次の手順に進みます。
gdcloud
すべてのカスタム イメージと最小ディスクサイズを一覧表示します。
gdcloud compute images list \ --project=PROJECTVM ディスクを作成するカスタム イメージを選択します。
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_SERVERManagement API サーバーの kubeconfig ファイル。 IMAGE_NAMEすべてのカスタム イメージを一覧表示するコマンドから選択したイメージの名前。 PROJECTブートディスクを作成する GDC プロジェクト。 BOOT_DISK_NAMEブートディスクの名前。 DISK_SIZEブートディスクのサイズは、イメージの minimumDiskSize以上にする必要があります。