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を置き換えます。
IAM ロールをリクエストする
プロジェクトに対する次のロールをリクエストするには、プロジェクト IAM 管理者にお問い合わせください。
仮想マシン プロジェクト管理者 (
project-vm-admin): プロジェクト名前空間で標準 VM とハイパフォーマンス VM を作成、変更、一覧表示、削除します。プロジェクト閲覧者 (
project-viewer): プロジェクト名前空間内のすべてのリソースを表示します。
すべての VM ロールは、VM が存在するプロジェクトの名前空間にバインドする必要があります。 手順に沿ってアクセス権 を確認してください。
ブートディスクを作成する
このページで説明する手順に沿って、後で VM の作成に使用できるブートディスクを作成します。
イメージからブートディスクを作成する
インスタンスの作成とは別に、スタンドアロンのブート永続ディスクを作成し、後でそれをインスタンスにアタッチできます。このセクションでは、GDC 提供の OS イメージまたはカスタム OS イメージからブート ディスクを作成する方法について説明します。
GDC 提供のイメージからブートディスクを作成する
GDC 提供のイメージを使用してブートディスクを作成する前に、使用可能なイメージのリストを確認します。次に、提供されたイメージを使用してブートディスクを作成します。
gdcloud
使用可能なすべてのイメージとその最小ディスクサイズを一覧表示します。
gdcloud compute images listこのコマンドには、Distributed Cloud 提供のイメージとカスタム イメージの両方が含まれます。
vm-system名前空間でいずれかを選択します。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=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_SERVERManagement API サーバーの kubeconfig ファイル。 IMAGE_NAMEすべてのカスタム イメージを一覧表示するコマンドで選択したイメージの名前。 PROJECTブートディスクを作成する GDC プロジェクト。 BOOT_DISK_NAMEブートディスクの名前。 DISK_SIZEブートディスクのサイズ。イメージの minimumDiskSize以上にする必要があります。