6.6. 在 OpenShift 上修复 Dev Workspace Operator


在某些情况下,如 OLM 重启或集群升级,OpenShift Dev Spaces 的 Dev Spaces Operator 可能会自动安装 Dev Workspace Operator,即使在集群中已存在。在这种情况下,您可以修复 OpenShift 上的 Dev Workspace Operator,如下所示:

先决条件

  • 一个活跃的 oc 会话,作为集群管理员到目标 OpenShift 集群。请参阅 CLI 入门
  • 在 OpenShift Web 控制台的 Installed Operators 页面中,您会看到 Dev Workspace Operator 的多个条目,或看到一个处于 ReplacingPending 循环中的一个条目。

流程

  1. 删除包含故障 pod 的 devworkspace-controller 命名空间。
  2. 通过将转换策略设置为 None 并删除整个 webhook 部分,更新 DevWorkspaceDevWorkspaceTemplate 自定义资源定义(CRD):

    spec:
      ...
      conversion:
        strategy: None
    status:
    ...
    提示

    您可以通过在 Administration CustomResourceDefinitions 中搜索 DevWorkspaceDevWorkspaceTemplate CRD,在 OpenShift Web 控制台的 Administrator 视角中找到并编辑 DevWorkspace 和 DevWorkspaceTemplate CRD。

    注意

    DevWorkspaceOperatorConfigDevWorkspaceRouting CRD 默认将转换策略设置为 None

  3. 删除 Dev Workspace Operator 订阅:

    $ oc delete sub devworkspace-operator \
    -n openshift-operators 1
    1
    安装 Dev Workspace Operator 的 openshift-operators 或 OpenShift 项目。
  4. 获取 < devworkspace_operator.vX.Y.Z > 格式的 Dev Workspace Operator CSV:

    $ oc get csv | grep devworkspace
  5. 删除每个 Dev Workspace Operator CSV:

    $ oc delete csv <devworkspace_operator.vX.Y.Z> \
    -n openshift-operators 1
    1
    安装 Dev Workspace Operator 的 openshift-operators 或 OpenShift 项目。
  6. 重新创建 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.21.0
    EOF
    1
    AutomaticManual
    重要

    对于 installPlanApproval: Manual,在 OpenShift Web 控制台的 Administrator 视角中,进入 Operators Installed Operators,为 Dev Workspace Operator 选择以下内容:Upgrade available Preview InstallPlan Approve

  7. 在 OpenShift Web 控制台的 Administrator 视角中,进入 Operators Installed Operators 并验证 Dev Workspace OperatorSucceeded 状态。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.