7.4.2. 기본 레지스트리 이동

Pod를 다른 노드에 배포하도록 레지스트리 Operator를 구성합니다.

전제 조건

  • OpenShift Container Platform 클러스터에서 추가 머신 세트를 구성합니다.

프로세스

  1. config/instance 개체를 표시합니다.

    $ oc get configs.imageregistry.operator.openshift.io/cluster -o yaml

    출력 예

    apiVersion: imageregistry.operator.openshift.io/v1
    kind: Config
    metadata:
      creationTimestamp: 2019-02-05T13:52:05Z
      finalizers:
      - imageregistry.operator.openshift.io/finalizer
      generation: 1
      name: cluster
      resourceVersion: "56174"
      selfLink: /apis/imageregistry.operator.openshift.io/v1/configs/cluster
      uid: 36fd3724-294d-11e9-a524-12ffeee2931b
    spec:
      httpSecret: d9a012ccd117b1e6616ceccb2c3bb66a5fed1b5e481623
      logging: 2
      managementState: Managed
      proxy: {}
      replicas: 1
      requests:
        read: {}
        write: {}
      storage:
        s3:
          bucket: image-registry-us-east-1-c92e88cad85b48ec8b312344dff03c82-392c
          region: us-east-1
    status:
    ...

  2. config/instance 개체를 편집합니다.

    $ oc edit configs.imageregistry.operator.openshift.io/cluster
  3. 다음 YAML과 동일하게 오브젝트의 spec 섹션을 수정합니다.

    spec:
      affinity:
        podAntiAffinity:
          preferredDuringSchedulingIgnoredDuringExecution:
          - podAffinityTerm:
              namespaces:
              - openshift-image-registry
              topologyKey: kubernetes.io/hostname
            weight: 100
      logLevel: Normal
      managementState: Managed
      nodeSelector:
        node-role.kubernetes.io/infra: ""
  4. 레지스트리 pod가 인프라 노드로 이동되었는지 검증합니다.

    1. 다음 명령을 실행하여 레지스트리 pod가 있는 노드를 식별합니다.

      $ oc get pods -o wide -n openshift-image-registry
    2. 노드에 지정된 레이블이 있는지 확인합니다.

      $ oc describe node <node_name>

      명령 출력을 확인하고 node-role.kubernetes.io/infraLABELS 목록에 있는지 확인합니다.