VM インスタンスは、ライフサイクル全体を通して多くの状態に遷移します。VM を作成すると、Google Distributed Cloud(GDC)エアギャップによって VM を起動するためのリソースがプロビジョニングされます。次に、VM は起動状態に移行し、初回の起動に向けて準備が行われます。その後、起動して実行中とみなされます。実行中の VM は、ライフサイクル中に停止と再起動、一時停止と再開を繰り返すことがあります。
VM ステータスの定義
| 状態 | 定義 |
|---|---|
Pending |
VM はシステムによって承認され、割り当てを待機しています。 |
Provisioning
|
VirtualMachineDisk などの VM に関連付けられたリソースがプロビジョニングされ、準備されています。 |
Starting |
VM は実行の準備中です。 |
Running |
VM が実行されている。 |
Stopping |
VM は停止中です。 |
Stopped |
VM は停止しており、起動する予定はありません。 |
Paused
|
VM は一時停止され、フリーズ状態になり、その状態が保持されます。VM にアクセスできません。 |
Terminating
|
VM とその関連リソースは削除処理中です。 |
ErrorConfiguration
|
VM に構成エラーがあります。無効な構成状態は、次の原因で発生する可能性があります。 |
MachineTypeNotFound - VM が参照する VM タイプが見つからないか、削除中です。 |
|
MachineDiskMisconfig - VM ディスクが正しく構成されていません。 |
|
InterfaceCreationFailed - ネットワーク インターフェースの作成に失敗しました。 |
|
CrashLoopBackOff |
VM がクラッシュ ループに陥り、再試行を待機しています。 |
PendingIPAllocation |
VM は、システムが IP アドレスを割り当てるのを待機しています。 |
Unknown
|
通常、実行中のホストとの通信エラーが原因で、VM の状態を取得できませんでした。 |
ErrorUnschedulable
|
VM のスケジューリング中にエラーが発生しました。たとえば、リソース リクエストやスケジューリング制約が満たされない、またはサポートされていないことが原因です。 |
DiskError |
VM に、アタッチされた 1 つ以上のディスクに関するエラーがあります。 |
WaitingForDisk |
VM は、アタッチされた 1 つ以上の VirtualMachineDisk の準備ができるのを待っています。 |
CrashLoopBackoff |
VM がなんらかの理由で頻繁にクラッシュしている。 |
始める前に
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 のプロパティの一部として報告します。次のいずれかの理由で、VM のステータスを確認します。
- VM に問題がある場合。
- 起動後に VM が実行されていることを確認する。
- VM が
Paused状態またはStopped状態であることを確認する。
VM を一覧表示してステータスを確認する
次の手順では、VM を一覧表示し、ステータスを表示して、追加のステータス情報を取得する方法を示します。
すべての VM を一覧表示し、各 VM のステータスを表示します。
kubectl --kubeconfig MANAGEMENT_API_SERVER \ -n PROJECT \ get virtualmachines.virtualmachine.gdc.goog次の表に従って、コード例の変数を独自の値に置き換えます。
変数 定義 MANAGEMENT_API_SERVERManagement API サーバーの kubeconfig ファイル。 PROJECTVM が存在する GDC プロジェクト。 出力例:
NAME STATUS AGE vm-1 Running 1d vm-2 Stopped 8d vm-3 ErrorConfiguration 1d特定の VM のステータスに関する詳細情報を取得します。
kubectl --kubeconfig MANAGEMENT_API_SERVER \ -n PROJECT \ get virtualmachines.virtualmachine.gdc.goog VM_NAME \ -o jsonpath='{"State:"}{.status.state}{"\n"}{"Reason:"}{.status.reason}{"\n"}{"Message:"}{.status.message}{"\n"}'次のように置き換えます。
MANAGEMENT_API_SERVER:gdcloud auth loginコマンドで取得した Management API サーバーの kubeconfig ファイル。VM_NAMEは、新しい VM の名前に置き換えます。PROJECT: VM が存在する GDC プロジェクト。
ReasonとMessageの値を示す出力例:State: ErrorConfiguration Reason: MachineDiskNotFound Message: VirtualMachineDisk disk-1 in namespace project-1 does not exist.ReasonとMessageのフィールドが空になることもあります。これは、システムがそれらに関して報告することがなかったことを示します。ReasonとMessageが空の場合の出力例:State: Running Reason: Message:
VM を停止または再起動する
VM のライフサイクル中に、ステータスの変更に対応したり、VM を一般的に管理したりするために、VM の停止と再起動、または VM の削除が必要になることがあります。VM を停止、リセット、削除するには、次のページをご覧ください。