クラスターのデプロイメントのアップグレード
GPUStack はワーカーノードをクラスターにまとめて管理します。このページでは、GPUStack サーバーの更新後に、クラスターのワーカーデプロイメントをアップグレードする方法を説明します。
注記
-
最初に GPUStack サーバーをアップグレードし(Docker によるアップグレード、Helm によるアップグレードを参照)、次にクラスターのデプロイメントを更新します。
-
ワーカーはサーバーと同じバージョンに更新します。安定版サーバーに
main(開発版)やリリース候補(rc)のワーカーイメージを混在させないでください。
アップグレードの方法は、元のデプロイ方法に対応します(クラスター管理を参照)。Docker クラスターでは新しいイメージでデプロイを再実行し、Kubernetes クラスターでは新しいイメージを指定したマニフェストを再適用します。
Docker クラスター
Docker クラスターのワーカーは、クラスターの Add Worker ステップで生成される docker run コマンドで起動したコンテナーです。新しいイメージを取得し、古いコンテナーを削除して、以前と同じ引数とボリュームで再作成し、各ワーカーを更新します。
ヒント
対象バージョンの最新の docker run コマンドは GPUStack UI から取得できます。Clusters ページでクラスターの Add Worker ステップを開き、生成された Run command をコピーします。
Kubernetes クラスター
Kubernetes クラスターのワーカーは、クラスター登録時に適用したマニフェストに基づき、GPUStack Operator が管理する DaemonSet としてデプロイされます。更新するには、新しいバージョン用に生成されたマニフェストを再適用します。
Clustersページで更新する Kubernetes クラスターを見つけます。- 操作列の三点ボタンをクリックし、
Register Clusterを選択します。 Run commandステップまで進み、生成されたコマンドをコピーします。kubectlがインストールされ、対象クラスター用のkubeconfigが設定された環境でコマンドを実行します。更新されたマニフェストが再適用され、Operator がワーカーの DaemonSet を新しいバージョンにローリング更新します。
ワーカー Pod が Ready になれば、クラスターは新しいバージョンで稼働しています。
クラウドプロバイダーのクラスター
クラウドでプロビジョニングするクラスター(DigitalOcean など)では、各ワーカーノードを cloud-init で初期化します。設定は /var/lib/gpustack/config.yaml に書き込まれ、/opt/gpustack-run-worker.sh 経由で gpustack-worker コンテナーが起動します。既存ノードを更新するには、SSH で接続し、同じ設定とボリュームを再利用して新しいイメージでコンテナーを再作成します。
注記
ワーカープールのスケールアウトなどで新たにプロビジョニングするノードも新しいバージョンで起動するように、UI でクラスターのイメージ設定も更新してください。クラスター管理をご覧ください。