2.4. 使用 CLI 安装自助服务 Operator

您可以使用 OpenShift CLI(oc)安装 Self Node Remediation Operator。

您可以在自己的命名空间中或 openshift-operators 命名空间中安装 Self Node Remediation Operator。

要在您自己的命名空间中安装 Operator,请按照以下步骤执行。

要在 openshift-operators 命名空间中安装 Operator,请跳至步骤 3,因为需要新的 Namespace 自定义资源(CR)和 OperatorGroup CR 的步骤。

先决条件

  • 安装 OpenShift CLI(oc)。
  • 以具有 cluster-admin 特权的用户身份登录。

流程

  1. 为 Self Node Remediation Operator 创建 Namespace 自定义资源(CR):

    1. 定义 Namespace CR 并保存 YAML 文件,如 self-node-remediation-namespace.yaml

      apiVersion: v1
      kind: Namespace
      metadata:
        name: self-node-remediation
    2. 要创建 Namespace CR,请运行以下命令:

      $ oc create -f self-node-remediation-namespace.yaml
  2. 创建 OperatorGroup CR:

    1. 定义 OperatorGroup CR 并保存 YAML 文件,如 self-node-remediation-operator-group.yaml

      apiVersion: operators.coreos.com/v1
      kind: OperatorGroup
      metadata:
        name: self-node-remediation-operator
        namespace: self-node-remediation
    2. 要创建 OperatorGroup CR,请运行以下命令:

      $ oc create -f self-node-remediation-operator-group.yaml
  3. 创建一个 Subscription CR:

    1. 定义 Subscription CR 并保存 YAML 文件,如 self-node-remediation-subscription.yaml

      apiVersion: operators.coreos.com/v1alpha1
      kind: Subscription
      metadata:
          name: self-node-remediation-operator
          namespace: self-node-remediation 1
      spec:
          channel: stable
          installPlanApproval: Manual 2
          name: self-node-remediation-operator
          source: redhat-operators
          sourceNamespace: openshift-marketplace
          package: self-node-remediation
      1
      指定要安装 Self Node Remediation Operator 的命名空间。要在 openshift-operators 命名空间中安装 Self Node Remediation Operator,在 Subscription CR 中指定 openshift-operators
      2
      如果您的指定版本被目录中的后续版本取代,则将批准策略设置为 Manual。此计划阻止自动升级到更新的版本,且需要在启动 CSV 可以完成安装前手动批准。
    2. 要创建 Subscription CR,请运行以下命令:

      $ oc create -f self-node-remediation-subscription.yaml

验证

  1. 检查 CSV 资源来验证安装是否成功:

    $ oc get csv -n self-node-remediation

    输出示例

    NAME                               DISPLAY                          VERSION   REPLACES   PHASE
    self-node-remediation.v.0.4.0      Self Node Remediation Operator   v.0.4.0              Succeeded

  2. 验证 Self Node Remediation Operator 是否正在运行:

    $ oc get deploy -n self-node-remediation

    输出示例

    NAME                                        READY   UP-TO-DATE   AVAILABLE   AGE
    self-node-remediation-controller-manager    1/1     1            1           28h

  3. 验证 Self Node Remediation Operator 是否已创建 SelfNodeRemediationConfig CR:

    $ oc get selfnoderemediationconfig -n self-node-remediation

    输出示例

    NAME                           AGE
    self-node-remediation-config   28h

  4. 验证每个自节点补救 pod 是否已调度并在每个 worker 节点上运行:

    $ oc get daemonset -n self-node-remediation

    输出示例

    NAME                      DESIRED  CURRENT  READY  UP-TO-DATE  AVAILABLE  NODE SELECTOR  AGE
    self-node-remediation-ds  3        3        3      3           3          <none>         28h

    注意

    control plane 节点不支持这个命令。