このドキュメントでは、エアギャップのある Google Distributed Cloud(GDC)でブートディスクを置き換える手順について説明します。交換前にブートディスクを作成する必要がある場合は、ブートディスクを作成するをご覧ください。
仮想マシン(VM)インスタンスからブートディスクを切断し、新しいブートディスクをアタッチできます。ブートディスクを修復するには、元のブートディスクを削除せずに別の VM インスタンスにマウントします。また、VM インスタンス全体を再作成するのではなく、ブートディスクを置き換えることもできます。
始める前に
gdcloud
コマンドライン インターフェース(CLI)コマンドを使用するには、gdcloud
CLI をダウンロード、インストール、構成していることを確認してください。Distributed Cloud のすべてのコマンドは gdcloud
または kubectl
CLI を使用し、オペレーティング システム(OS)環境が必要です。
kubeconfig ファイルのパスを取得する
Management API サーバーに対してコマンドを実行するには、次のリソースがあることを確認します。
Management API サーバーの kubeconfig ファイルがない場合は、ログインして生成します。
これらの手順では、Management API サーバーの kubeconfig ファイルのパスを使用して
MANAGEMENT_API_SERVER
を置き換えます。VM ディスクへのアクセス権を取得します。手順に沿って、必要なプロジェクト VM 管理者ロールがあることを確認します。
制限事項
ブートディスクを置き換える場合は、次の制限があります。
- ブートディスクのアタッチまたは切断は、停止している VM インスタンスからのみ行うことができます。
- VM インスタンスごとにブートディスクを 1 つだけアタッチします。
- 既存のブートディスクのみを VM インスタンスにアタッチします。
- ブートディスクのみを新しい起動可能なディスクに置き換えます。
ブートディスクを交換する
ブートディスクを置き換えるには、GDC コンソールまたは kubectl
CLI を使用します。
コンソール
ナビゲーション メニューで、[仮想マシン] > [インスタンス] をクリックします。
VM のリストで、VM 名をクリックして詳細を表示します。
[ブートディスクを置き換える] をクリックします。
確認ダイアログで [停止] をクリックして VM を停止します。
VM が停止するまで数分待ちます。
[更新] をクリックします。
VM が停止状態になったら、[ブートディスクを置き換える] をもう一度クリックします。
[ブートディスクの置換] ダイアログで、新しいブートディスクまたは既存のブートディスクを選択します。
新しいブートディスクをプロビジョニングするには、[新しいブートディスク] タブをクリックします。
- [ディスク名] フィールドに、プロジェクトに固有の新しいディスク名を入力します。
- [サイズ] フィールドに、12 ~ 65, 536 GiB のディスクサイズを入力します。
- [イメージ名] リストで、イメージを選択します。
- [削除ルール] セクションで、[ディスクを維持] または [ディスクを削除] をクリックします。
- [ストレージ プロファイル] セクションで、プロファイルを選択します。デフォルトのプロファイルは [標準] です。
既存のブートディスクを選択するには、[既存のブートディスク] タブをクリックします。
- [ディスク] リストで、ディスクを選択します。
- [削除ルール] セクションで、[ディスクを維持] または [ディスクを削除] をクリックします。
[保存] をクリックします。
kubectl
VM インスタンスを停止します。
現在の
spec.disks
値を開き、新しい仮想マシン ディスク用に変更します。kubectl --kubeconfig MANAGEMENT_API_SERVER edit virtualmachines.virtualmachine.gdc.goog --namespace PROJECT VM_NAME
次の値を置き換えます。
MANAGEMENT_API_SERVER
は、Management API サーバーの kubeconfig ファイルのパスに置き換えます。PROJECT
は、ブートディスクを置き換える Distributed Cloud プロジェクトに置き換えます。VM_NAME
は、仮想マシンの名前に置き換えます。
構成ファイルでブートディスクを変更します。
VM_BOOT_DISK_NAME
を新しい VM ブートディスクの名前に置き換えます。disks: - virtualMachineDiskRef: name: VM_BOOT_DISK_NAME boot: true
結果は次の例のようになります。
disks: - virtualMachineDiskRef: name: NEW_VM_BOOT_DISK_NAME boot: true