9.4.8. 複数の仮想マシンを更新する
コマンドラインインターフェイス (CLI) を使用して、複数の仮想マシンを同時に更新できます。
前提条件
-
ocCLI がインストールされている。 -
OpenShift Container Platform クラスターにアクセスでき、
cluster-admin権限を持っている。
手順
次のコマンドを実行して、特権付きサービスアカウントを作成します。
$ oc adm new-project kubevirt-api-lifecycle-automation$ oc create sa kubevirt-api-lifecycle-automation -n kubevirt-api-lifecycle-automation$ oc create clusterrolebinding kubevirt-api-lifecycle-automation --clusterrole=cluster-admin --serviceaccount=kubevirt-api-lifecycle-automation:kubevirt-api-lifecycle-automation次のコマンドを実行して、
kubevirt-api-lifecycleイメージのプル URL を決定します。$ oc get csv -n openshift-cnv -l=operators.coreos.com/kubevirt-hyperconverged.openshift-cnv -ojson | jq '.items[0].spec.relatedImages[] | select(.name|test(".*kubevirt-api-lifecycle-automation.*")) | .image'次の例に示すように、ジョブオブジェクトを作成して
Kubevirt-Api-Lifecycle-Automationをデプロイします。apiVersion: batch/v1 kind: Job metadata: name: kubevirt-api-lifecycle-automation namespace: kubevirt-api-lifecycle-automation spec: template: spec: containers: - name: kubevirt-api-lifecycle-automation image: quay.io/openshift-virtualization/kubevirt-api-lifecycle-automation:v4.191 imagePullPolicy: Always env: - name: MACHINE_TYPE_GLOB2 value: smth-glob9.10.0 - name: RESTART_REQUIRED3 value: "true" - name: NAMESPACE4 value: "default" - name: LABEL_SELECTOR5 value: my-vm securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL privileged: false runAsNonRoot: true seccompProfile: type: RuntimeDefault restartPolicy: Never serviceAccountName: kubevirt-api-lifecycle-automation
- 1
- イメージの値は、イメージのプル URL に置き換えます。
- 2
MACHINE_TYPE_GLOB値は、独自のパターンに置き換えます。このパターンは、アップグレードが必要な非推奨のマシンタイプを検出するために使用されます。- 3
RESTART_REQUIRED環境変数がtrueに設定されている場合、マシンタイプの更新後に仮想マシンが再起動されます。仮想マシンを再起動したくない場合は、値をfalseに設定します。- 4
namespace環境値は、仮想マシンを検索する namespace を示します。ジョブがクラスター内のすべての namespace を調べるようにするには、パラメーターを空のままにします。- 5
LABEL_SELECTOR環境変数を使用して、ジョブアクションを受信する仮想マシンを選択できます。ジョブをクラスター内のすべての仮想マシンに適用する場合は、パラメーターに値を割り当てないでください。