6.6. OpenShift での Dev Workspace Operator の修復
OLM の再起動やクラスターのアップグレードなどの特定の条件下では、クラスター上にすでに存在している場合でも、OpenShift Dev Spaces の Dev Spaces Operator が、Dev Workspace Operator を自動的にインストールすることがあります。その場合、次のように OpenShift で Dev Workspace Operator を修復できます。
前提条件
-
宛先 OpenShift クラスターへのクラスター管理者としてのアクティブな
oc
セッション。Getting started with the CLI を参照してください。 - OpenShift Web コンソールの Installed Operators ページに、Dev Workspace Operator の複数のエントリーが表示されるか、1 つのエントリーが Replaceing と Pending のループに陥っています。
手順
-
失敗した Pod を含む
devworkspace-controller
namespace を削除します。 DevWorkspace
およびDevWorkspaceTemplate
カスタムリソース定義 (CRD) を更新するには、変換ストラテジーをNone
に設定し、webhook
セクション全体を削除します。spec: ... conversion: strategy: None status: ...
ヒントで DevWorkspace
を検索することにより、OpenShift Web コンソールの Administrator パースペクティブでDevWorkspace
およびDevWorkspaceTemplate
CRD を見つけて編集できます。注記DevWorkspaceOperatorConfig
およびDevWorkspaceRouting
CRD の変換ストラテジーは、デフォルトでNone
に設定されています。Dev Workspace Operator サブスクリプションを削除します。
$ oc delete sub devworkspace-operator \ -n openshift-operators 1
- 1
openshift-operators
または Dev Workspace Operator がインストールされている OpenShift プロジェクト。
<devworkspace-operator.vX.Y.Z> 形式で Dev Workspace Operator CSV を取得します。
$ oc get csv | grep devworkspace
各 Dev Workspace Operator CSV を削除します。
$ oc delete csv <devworkspace_operator.vX.Y.Z> \ -n openshift-operators 1
- 1
openshift-operators
または Dev Workspace Operator がインストールされている OpenShift プロジェクト。
Dev Workspace Operator サブスクリプションを再作成します。
$ cat <<EOF | oc apply -f - apiVersion: operators.coreos.com/v1alpha1 kind: Subscription metadata: name: devworkspace-operator namespace: openshift-operators spec: channel: fast name: devworkspace-operator source: redhat-operators sourceNamespace: openshift-marketplace installPlanApproval: Automatic 1 startingCSV: devworkspace-operator.v0.25.0 EOF
- 1
Automatic
またはManual
。
重要installPlanApproval: Manual
の場合、OpenShift Web コンソールの Administrator パースペクティブでに移動し、Dev Workspace Operator: に対して以下を選択します。 -
OpenShift Web コンソールの Administrator パースペクティブで、
に移動し、Dev Workspace Operator の Succeeded ステータスを確認します。