Menu Close

12.7.17. Initial Operator configuration

After the control plane initializes, you must immediately configure some Operators so that they all become available.

Prerequisites

  • Your control plane has initialized.

Procedure

  1. Watch the cluster components come online:

    $ watch -n5 oc get clusteroperators

    Example output

    NAME                                 VERSION   AVAILABLE   PROGRESSING   DEGRADED   SINCE
    authentication                       4.5.4     True        False         False      69s
    cloud-credential                     4.5.4     True        False         False      12m
    cluster-autoscaler                   4.5.4     True        False         False      11m
    console                              4.5.4     True        False         False      46s
    dns                                  4.5.4     True        False         False      11m
    image-registry                       4.5.4     True        False         False      5m26s
    ingress                              4.5.4     True        False         False      5m36s
    kube-apiserver                       4.5.4     True        False         False      8m53s
    kube-controller-manager              4.5.4     True        False         False      7m24s
    kube-scheduler                       4.5.4     True        False         False      12m
    machine-api                          4.5.4     True        False         False      12m
    machine-config                       4.5.4     True        False         False      7m36s
    marketplace                          4.5.4     True        False         False      7m54m
    monitoring                           4.5.4     True        False         False      7h54s
    network                              4.5.4     True        False         False      5m9s
    node-tuning                          4.5.4     True        False         False      11m
    openshift-apiserver                  4.5.4     True        False         False      11m
    openshift-controller-manager         4.5.4     True        False         False      5m943s
    openshift-samples                    4.5.4     True        False         False      3m55s
    operator-lifecycle-manager           4.5.4     True        False         False      11m
    operator-lifecycle-manager-catalog   4.5.4     True        False         False      11m
    service-ca                           4.5.4     True        False         False      11m
    service-catalog-apiserver            4.5.4     True        False         False      5m26s
    service-catalog-controller-manager   4.5.4     True        False         False      5m25s
    storage                              4.5.4     True        False         False      5m30s

  2. Configure the Operators that are not available.

12.7.17.1. Image registry storage configuration

The Image Registry Operator is not initially available for platforms that do not provide default storage. After installation, you must configure your registry to use storage so that the Registry Operator is made available.

Instructions are shown for configuring a persistent volume, which is required for production clusters. Where applicable, instructions are shown for configuring an empty directory as the storage location, which is available for only non-production clusters.

Additional instructions are provided for allowing the image registry to use block storage types by using the Recreate rollout strategy during upgrades.

12.7.17.1.1. Configuring registry storage for VMware vSphere

As a cluster administrator, following installation you must configure your registry to use storage.

Prerequisites

  • Cluster administrator permissions.
  • A cluster on VMware vSphere.
  • Persistent storage provisioned for your cluster, such as Red Hat OpenShift Container Storage.

    重要

    OpenShift Container Platform supports ReadWriteOnce access for image registry storage when you have only one replica. To deploy an image registry that supports high availability with two or more replicas, ReadWriteMany access is required.

  • Must have "100Gi" capacity.
重要

Testing shows issues with using the NFS server on RHEL as storage backend for core services. This includes the OpenShift Container Registry and Quay, Prometheus for monitoring storage, and Elasticsearch for logging storage. Therefore, using RHEL NFS to back PVs used by core services is not recommended.

Other NFS implementations on the marketplace might not have these issues. Contact the individual NFS implementation vendor for more information on any testing that was possibly completed against these OpenShift Container Platform core components.

Procedure

  1. To configure your registry to use storage, change the spec.storage.pvc in the configs.imageregistry/cluster resource.

    注記

    When using shared storage, review your security settings to prevent outside access.

  2. Verify that you do not have a registry pod:

    $ oc get pod -n openshift-image-registry
    注記

    If the storage type is emptyDIR, the replica number cannot be greater than 1.

  3. Check the registry configuration:

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

    Example output

    storage:
      pvc:
        claim: 1

    1
    Leave the claim field blank to allow the automatic creation of an image-registry-storage PVC.
  4. Check the clusteroperator status:

    $ oc get clusteroperator image-registry
12.7.17.1.2. Configuring storage for the image registry in non-production clusters

You must configure storage for the Image Registry Operator. For non-production clusters, you can set the image registry to an empty directory. If you do so, all images are lost if you restart the registry.

Procedure

  1. To set the image registry storage to an empty directory:

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

    Configure this option for only non-production clusters.

    If you run this command before the Image Registry Operator initializes its components, the oc patch command fails with the following error:

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

    Wait a few minutes and run the command again.

  2. Ensure that your registry is set to managed to enable building and pushing of images.

    • Run:

      $ oc edit configs.imageregistry/cluster

      Then, change the line

      managementState: Removed

      to

      managementState: Managed
12.7.17.1.3. Configuring block registry storage for VMware vSphere

To allow the image registry to use block storage types such as vSphere Virtual Machine Disk (VMDK) during upgrades as a cluster administrator, you can use the Recreate rollout strategy.

重要

Block storage volumes are supported but not recommended for use with image registry on production clusters. An installation where the registry is configured on block storage is not highly available because the registry cannot have more than one replica.

Procedure

  1. To set the image registry storage as a block storage type, patch the registry so that it uses the Recreate rollout strategy and runs with only 1 replica:

    $ oc patch config.imageregistry.operator.openshift.io/cluster --type=merge -p '{"spec":{"rolloutStrategy":"Recreate","replicas":1}}'
  2. Provision the PV for the block storage device, and create a PVC for that volume. The requested block volume uses the ReadWriteOnce (RWO) access mode.

    1. Create a pvc.yaml file with the following contents to define a VMware vSphere PersistentVolumeClaim object:

      kind: PersistentVolumeClaim
      apiVersion: v1
      metadata:
        name: image-registry-storage 1
      spec:
        accessModes:
        - ReadWriteOnce 2
        resources:
          requests:
            storage: 100Gi 3
      1
      A unique name that represents the PersistentVolumeClaim object.
      2
      The access mode of the PersistentVolumeClaim. With ReadWriteOnce, the volume can be mounted with read and write permissions by a single node.
      3
      The size of the PersistentVolumeClaim.
    2. Create the PersistentVolumeClaim object from the file:

      $ oc create -f pvc.yaml -n openshift-image-registry
  3. Edit the registry configuration so that it references the correct PVC:

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

    Example output

    storage:
      pvc:
        claim: 1

    1
    Creating a custom PVC allows you to leave the claim field blank for the default automatic creation of an image-registry-storage PVC.

For instructions about configuring registry storage so that it references the correct PVC, see Configuring the registry for vSphere.