始める前に
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_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以上にする必要があります。
ブートディスクを交換するには、ブートディスクを交換するをご覧ください。