4.15. 初始 Operator 配置


在 control plane 初始化后,您必须立即配置一些 Operator,以便它们都可用。

先决条件

  • 您的 control plane 已初始化。

流程

  1. 观察集群组件上线:

    $ watch -n5 oc get clusteroperators

    输出示例

    NAME                                       VERSION   AVAILABLE   PROGRESSING   DEGRADED   SINCE
    authentication                             4.13.0    True        False         False      19m
    baremetal                                  4.13.0    True        False         False      37m
    cloud-credential                           4.13.0    True        False         False      40m
    cluster-autoscaler                         4.13.0    True        False         False      37m
    config-operator                            4.13.0    True        False         False      38m
    console                                    4.13.0    True        False         False      26m
    csi-snapshot-controller                    4.13.0    True        False         False      37m
    dns                                        4.13.0    True        False         False      37m
    etcd                                       4.13.0    True        False         False      36m
    image-registry                             4.13.0    True        False         False      31m
    ingress                                    4.13.0    True        False         False      30m
    insights                                   4.13.0    True        False         False      31m
    kube-apiserver                             4.13.0    True        False         False      26m
    kube-controller-manager                    4.13.0    True        False         False      36m
    kube-scheduler                             4.13.0    True        False         False      36m
    kube-storage-version-migrator              4.13.0    True        False         False      37m
    machine-api                                4.13.0    True        False         False      29m
    machine-approver                           4.13.0    True        False         False      37m
    machine-config                             4.13.0    True        False         False      36m
    marketplace                                4.13.0    True        False         False      37m
    monitoring                                 4.13.0    True        False         False      29m
    network                                    4.13.0    True        False         False      38m
    node-tuning                                4.13.0    True        False         False      37m
    openshift-apiserver                        4.13.0    True        False         False      32m
    openshift-controller-manager               4.13.0    True        False         False      30m
    openshift-samples                          4.13.0    True        False         False      32m
    operator-lifecycle-manager                 4.13.0    True        False         False      37m
    operator-lifecycle-manager-catalog         4.13.0    True        False         False      37m
    operator-lifecycle-manager-packageserver   4.13.0    True        False         False      32m
    service-ca                                 4.13.0    True        False         False      38m
    storage                                    4.13.0    True        False         False      37m

  2. 配置不可用的 Operator。

4.15.1. 禁用默认的 OperatorHub 目录源

在 OpenShift Container Platform 安装过程中,默认为 OperatorHub 配置由红帽和社区项目提供的源内容的 operator 目录。在受限网络环境中,必须以集群管理员身份禁用默认目录。

流程

  • 通过在 OperatorHub 对象中添加 disableAllDefaultSources: true 来 禁用默认目录的源:

    $ oc patch OperatorHub cluster --type json \
        -p '[{"op": "add", "path": "/spec/disableAllDefaultSources", "value": true}]'
提示

或者,您可以使用 Web 控制台管理目录源。在 Administration Cluster Settings Configuration OperatorHub 页面中,点 Sources 选项卡,您可以在其中创建、更新、删除、禁用和启用单独的源。

4.15.2. 镜像 registry 存储配置

对于不提供默认存储的平台,Image Registry Operator 最初不可用。安装后,您必须将 registry 配置为使用存储,以便 Registry Operator 可用。

显示配置生产集群所需的持久性卷的说明。如果适用,显示有关将空目录配置为存储位置的说明,这仅适用于非生产集群。

提供了在升级过程中使用 Recreate rollout 策略来允许镜像 registry 使用块存储类型的说明。

4.15.2.1. 更改镜像 registry 的管理状态

要启动镜像 registry,您必须将 Image Registry Operator 配置的 managementStateRemoved 改为 Managed

流程

  • managementState Image Registry Operator 配置从 Removed 改为 Managed。例如:

    $ oc patch configs.imageregistry.operator.openshift.io cluster --type merge --patch '{"spec":{"managementState":"Managed"}}'

4.15.2.2. 为裸机和其他手动安装配置 registry 存储

作为集群管理员,在安装后需要配置 registry 来使用存储。

先决条件

  • 您可以使用具有 cluster-admin 角色的用户访问集群。
  • 您有一个使用手动置备的 Red Hat Enterprise Linux CoreOS(RHCOS)节点(如裸机)的集群。
  • 您已为集群置备持久性存储,如 Red Hat OpenShift Data Foundation。

    重要

    当您只有一个副本时,OpenShift Container Platform 支持对镜像 registry 存储的 ReadWriteOnce 访问。ReadWriteOnce 访问还要求 registry 使用 Recreate rollout 策略。要部署支持高可用性的镜像 registry,需要两个或多个副本,ReadWriteMany 访问。

  • 必须具有 100Gi 容量。

流程

  1. 要将 registry 配置为使用存储,修改 configs.imageregistry/cluster 资源中的 spec.storage.pvc

    注意

    使用共享存储时,请查看您的安全设置以防止外部访问。

  2. 验证您没有 registry pod:

    $ oc get pod -n openshift-image-registry -l docker-registry=default

    输出示例

    No resources found in openshift-image-registry namespace

    注意

    如果您的输出中有一个 registry pod,则不需要继续这个过程。

  3. 检查 registry 配置:

    $ oc edit configs.imageregistry.operator.openshift.io

    输出示例

    storage:
      pvc:
        claim:

    claim 字段留空以允许自动创建 image-registry-storage PVC。

  4. 检查 clusteroperator 状态:

    $ oc get clusteroperator image-registry

    输出示例

    NAME             VERSION              AVAILABLE   PROGRESSING   DEGRADED   SINCE   MESSAGE
    image-registry   4.13                 True        False         False      6h50m

  5. 确保 registry 设置为 managed,以启用镜像的构建和推送。

    • 运行:

      $ oc edit configs.imageregistry/cluster

      然后,更改行

      managementState: Removed

      managementState: Managed

4.15.2.3. 在非生产集群中为镜像 registry 配置存储

您必须为 Image Registry Operator 配置存储。对于非生产集群,您可以将镜像 registry 设置为空目录。如果您这样做,重启 registry 时会丢失所有镜像。

流程

  • 将镜像 registry 存储设置为空目录:

    $ oc patch configs.imageregistry.operator.openshift.io cluster --type merge --patch '{"spec":{"storage":{"emptyDir":{}}}}'
    警告

    仅为非生产集群配置这个选项。

    如果在 Image Registry Operator 初始化其组件前运行这个命令,oc patch 命令会失败并显示以下错误:

    Error from server (NotFound): configs.imageregistry.operator.openshift.io "cluster" not found

    等待几分钟,然后再次运行 命令。

4.15.2.4. 为裸机配置块 registry 存储

要允许镜像 registry 在作为集群管理员升级过程中使用块存储类型,您可以使用 Recreate rollout 策略

重要

支持块存储卷或块持久性卷,但不建议在生产环境中使用镜像 registry。在块存储上配置 registry 的安装不具有高可用性,因为 registry 无法具有多个副本。

如果您选择将块存储卷与镜像 registry 搭配使用,则必须使用文件系统持久性卷声明(PVC)。

流程

  1. 输入以下命令将镜像 registry 存储设置为块存储类型,对 registry 进行补丁,使其使用 Recreate rollout 策略,并只使用一个副本运行:1

    $ oc patch config.imageregistry.operator.openshift.io/cluster --type=merge -p '{"spec":{"rolloutStrategy":"Recreate","replicas":1}}'
  2. 为块存储设备置备 PV,并为该卷创建 PVC。请求的块卷使用 ReadWriteOnce(RWO)访问模式。

    1. 创建包含以下内容的 pvc.yaml 文件以定义 VMware vSphere PersistentVolumeClaim 对象:

      kind: PersistentVolumeClaim
      apiVersion: v1
      metadata:
        name: image-registry-storage 1
        namespace: openshift-image-registry 2
      spec:
        accessModes:
        - ReadWriteOnce 3
        resources:
          requests:
            storage: 100Gi 4
      1
      代表 PersistentVolumeClaim 对象的唯一名称。
      2
      PersistentVolumeClaim 对象的命名空间,即 openshift-image-registry
      3
      持久性卷声明的访问模式。使用 ReadWriteOnce 时,单个节点可以通过读写权限挂载该卷。
      4
      持久性卷声明的大小。
    2. 输入以下命令从文件创建 PersistentVolumeClaim 对象:

      $ oc create -f pvc.yaml -n openshift-image-registry
  3. 输入以下命令编辑 registry 配置,使其引用正确的 PVC:

    $ oc edit config.imageregistry.operator.openshift.io -o yaml

    输出示例

    storage:
      pvc:
        claim: 1

    1
    通过创建自定义 PVC,您可以将 claim 字段留空,以便默认自动创建 image-registry-storage PVC。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.