VM をできるだけ早く起動する必要がある場合は、このページの手順に沿って仮想マシン(VM)の起動時間を最小限に抑えます。起動時間を最小限に抑えるには、リソース効率を犠牲にする必要があります。プロジェクトで追加のリソースが消費され、セキュリティ サーフェスが増加します。
始める前に
gdcloud コマンドライン インターフェース(CLI)コマンドを使用するには、gdcloud CLI をダウンロード、インストール、構成していることを確認してください。GDC エアギャップ アプライアンスのすべてのコマンドは、gdcloud または kubectl CLI を使用し、Linux 環境が必要です。
kubeconfig ファイルのパスを取得する
Management API サーバーに対してコマンドを実行するには、次のリソースがあることを確認します。
Management API サーバー名を確認するか、プラットフォーム管理者(PA)にサーバー名を確認します。
Management API サーバーの kubeconfig ファイルがない場合は、ログインして生成します。
この手順では、パスを使用して
MANAGEMENT_API_SERVER{"</var>"}}を置き換えます。
ディスク接続を維持する
VM が起動すると、VM のノードから VM のディスクへの接続の開始に数秒かかります。VM の起動を高速化するには、VM のシャットダウン時にディスク接続を維持して、後続の VM 起動時にディスク接続が再開されないようにする必要があります。これを実現するために、ディスク接続のキープアライブを有効にするコマンドを実行すると、システムはすべての VM のディスクをマウントするダミー Pod を自動的に作成します。
ディスク接続のキープアライブを有効にする
プロジェクト PROJECT の VM_NAME という VM のディスク接続を維持するには、次のコマンドを実行します。この操作を行うと、システムは自動的にダミー Pod を作成します。
kubectl --kubeconfig MANAGEMENT_API_SERVER patch virtualmachines.virtualmachine.gdc.goog VM_NAME -n PROJECT --type merge --patch $'
metadata:
annotations:
disk.virtualmachine.gdc.goog/enable-connection-keep-alive: "true"
'
この手順では、次の定義を使用して変数を置き換えます。
| 変数 | 定義 |
|---|---|
MANAGEMENT_API_SERVER |
Management API サーバーの kubeconfig ファイル。 |
VM_NAME |
VM の名前。 |
PROJECT |
VM が存在する GDC プロジェクト。 |
ディスク接続のキープアライブが有効になっている場合、VM と同じプロジェクトに disk-connection-keep-alive-VM_NAME という名前の Pod が作成されます。VM のディスク接続は Pod によって維持されるため、次の VM の再起動は高速になり、以降の起動時間も短縮されます。
ディスク接続のキープアライブ アフィニティを設定する
Kubernetes スケジューラは、再起動時に VM に別のノードを選択する場合があります。このような事態が発生する可能性を減らすには、VM とキープアライブ Pod の間に VM 間アフィニティ ルールを構成します。自動的に実行されるように構成します。
kubectl --kubeconfig MANAGEMENT_API_SERVER patch virtualmachines.virtualmachine.gdc.goog VM_NAME -n PROJECT --type merge --patch $'
metadata:
annotations:
disk.virtualmachine.gdc.goog/add-connection-keep-alive-affinity: "true"
'
これにより、VM の優先アフィニティ設定がキープアライブ Pod に追加されます。
注意点
ディスク接続を維持するうえで、次の 2 つの注意点があります。
- キープアライブ Pod では、追加のリソース使用量が発生します。
- これは、ノードあたりの Pod 数の上限にカウントされます。
- Kubernetes によって割り当てられた追加の IP アドレスを使用します。
- CPU とメモリの使用量はごくわずかです。
- キープアライブ Pod が存在するノードには、VM がシャットダウンされている場合でも VM のディスクが常にアタッチされているため、セキュリティ サーフェスが増加します。
BIOS ファームウェアを使用する
GDC では、Unified Extensible Firmware Interface(UEFI)ファームウェアで VM を起動する方が、BIOS ファームウェアで VM を起動するよりも時間がかかります。
起動時間を最小限に抑えるには、VM のファームウェア タイプを BIOS に設定します。
kubectl --kubeconfig MANAGEMENT_API_SERVER patch virtualmachines.virtualmachine.gdc.goog VM_NAME -n PROJECT --type merge --patch $' spec: firmware: type: bios enableSecureBoot: 'VM が実行されている場合は、VM を再起動するの手順に沿って再起動します。
注意点
BIOS ファームウェアを使用する際の注意点として、セキュアブートがサポートされていないことが挙げられます。
大容量のブートディスクを使用する
VM の起動時間を最小限に抑えるには、サイズが 500 GB 以上のブートディスクを VM にアタッチします。