始める前に
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-system
Namespace のいずれかを選択します。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 \ 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
画像の名前。
API
-
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
以上にする必要があります。
ブートディスクを交換するには、ブートディスクを交換するをご覧ください。