검색

1.19. 클러스터 업그레이드

download PDF

Kubernetes용 Red Hat Advanced Cluster Management를 사용하여 관리할 Red Hat OpenShift Container Platform 클러스터를 생성한 후 Kubernetes 콘솔의 Red Hat Advanced Cluster Management를 사용하여 해당 클러스터를 관리 클러스터가 사용하는 버전 채널에서 사용 가능한 최신 마이너 버전으로 업그레이드할 수 있습니다.

연결된 환경에서 업데이트는 Red Hat Advanced Cluster Management 콘솔에서 업그레이드해야 하는 각 클러스터에 대해 제공되는 알림으로 자동 식별됩니다.

중요: 연결이 끊긴 환경에서 클러스터를 업그레이드하는 프로세스에는 필요한 릴리스 이미지를 구성하고 미러링하는 몇 가지 추가 단계가 필요합니다. Red Hat OpenShift Update Service용 Operator를 사용하여 업그레이드를 식별합니다. 연결이 끊긴 환경에 있는 경우 필요한 단계에 대한 연결이 끊긴 클러스터 업그레이드를 참조하십시오.

참고:

주요 버전으로 업그레이드하려면 해당 버전으로 업그레이드하기 위한 모든 사전 요구 사항을 충족하는지 확인해야 합니다. 콘솔을 사용하여 클러스터를 업그레이드하기 전에 관리형 클러스터에서 버전 채널을 업데이트해야 합니다.

관리형 클러스터에서 버전 채널을 업데이트한 후 Red Hat Advanced Cluster Management for Kubernetes 콘솔에 업그레이드에 사용할 수 있는 최신 버전이 표시됩니다.

이 업그레이드 방법은 Ready 상태인 OpenShift Container Platform 관리 클러스터에서만 작동합니다.

중요: Kubernetes 콘솔용 Red Hat Advanced Cluster Management를 사용하여 Red Hat OpenShift Kubernetes Service 관리 클러스터 또는 OpenShift Container Platform 관리 클러스터를 Red Hat OpenShift Dedicated에서 업그레이드할 수 없습니다.

연결된 환경에서 클러스터를 업그레이드하려면 다음 단계를 완료합니다.

  1. 탐색 메뉴에서 인프라 &gt ; 클러스터로 이동합니다. 업그레이드를 사용할 수 있는 경우 배포 버전 열에 표시됩니다.
  2. 업그레이드하려는 Ready 상태에서 클러스터를 선택합니다. 콘솔을 사용하여 업그레이드하려면 클러스터가 OpenShift Container Platform 클러스터여야 합니다.
  3. 업그레이드를 선택합니다.
  4. 각 클러스터의 새 버전을 선택합니다.
  5. 업그레이드를 선택합니다.

클러스터 업그레이드가 실패하면 Operator는 일반적으로 업그레이드를 몇 번 재시도하고 중지한 후 실패한 구성 요소의 상태를 보고합니다. 경우에 따라 업그레이드 프로세스가 프로세스를 완료하기 위한 시도로 계속 순환됩니다. 실패한 업그레이드 후 클러스터를 이전 버전으로 롤백하는 것은 지원되지 않습니다. 클러스터 업그레이드가 실패하는 경우 Red Hat 지원에 문의하십시오.

1.19.1. 채널 선택

Red Hat Advanced Cluster Management 콘솔을 사용하여 OpenShift Container Platform 버전 4.6 이상에서 클러스터 업그레이드 채널을 선택할 수 있습니다. 채널을 선택하면 에라타 버전 (4.8.1 > 4.8.2 > 4.8.3 등)과 릴리스 버전 (4.8 > 4.9 등) 모두에서 사용할 수 있는 클러스터 업그레이드를 자동으로 상기시킵니다.

클러스터 채널을 선택하려면 다음 단계를 완료합니다.

  1. Red Hat Advanced Cluster Management 탐색에서 인프라 > 클러스터를 선택합니다.
  2. 클러스터 세부 정보 페이지를 보려면 변경할 클러스터 이름을 선택합니다. 클러스터에 다른 채널을 사용할 수 있는 경우 채널 필드에 편집 아이콘이 표시됩니다.
  3. 편집 아이콘을 클릭하여 필드의 설정을 수정합니다.
  4. 새 채널 필드에서 채널을 선택합니다.

클러스터의 클러스터 세부 정보 페이지에서 사용 가능한 채널 업데이트에 대한 알림을 확인할 수 있습니다.

1.19.2. 연결이 끊긴 클러스터 업그레이드

Red Hat OpenShift Update Service를 Kubernetes용 Red Hat Advanced Cluster Management for Kubernetes와 함께 사용하여 연결이 끊긴 환경에서 클러스터를 업그레이드할 수 있습니다.

보안 문제로 인해 클러스터가 인터넷에 직접 연결되지 않는 경우도 있습니다. 이로 인해 업그레이드가 사용 가능한 시기와 해당 업그레이드를 처리하는 방법을 알기가 어렵습니다. OpenShift Update Service를 구성하면 도움이 될 수 있습니다.

OpenShift Update Service는 연결이 끊긴 환경에서 사용 가능한 관리 클러스터 버전을 모니터링하고 연결이 끊긴 환경에서 클러스터를 업그레이드할 수 있도록 하는 별도의 Operator 및 피연산자입니다. OpenShift Update Service가 구성된 후 다음 작업을 수행할 수 있습니다.

  1. 연결이 끊긴 클러스터에 업그레이드를 사용할 수 있는 경우를 모니터링합니다.
  2. 그래프 데이터 파일을 사용하여 업그레이드를 위해 로컬 사이트에 미러링된 업데이트를 식별합니다.
  3. Red Hat Advanced Cluster Management 콘솔을 사용하여 클러스터에 업그레이드를 사용할 수 있음을 알립니다.

1.19.2.1. 사전 요구 사항

OpenShift Update Service를 사용하여 연결이 끊긴 클러스터를 업그레이드하기 전에 다음 사전 요구 사항이 있어야 합니다.

  • 제한된 OLM이 구성된 Red Hat OpenShift Container Platform 버전 4.6 이상에서 실행 중인 배포된 Red Hat Advanced Cluster Management hub 클러스터입니다. 제한된 OLM 을 구성하는 방법에 대한 자세한 내용은 제한된 네트워크에서 Operator Lifecycle Manager 사용을 참조하십시오.

    팁: 제한된 OLM을 구성할 때 카탈로그 소스 이미지를 기록해 둡니다.

  • Red Hat Advanced Cluster Management hub 클러스터에서 관리하는 OpenShift Container Platform 클러스터
  • 클러스터 이미지를 미러링할 수 있는 로컬 저장소에 대한 인증 정보에 액세스합니다. 이 리포지토리를 생성하는 방법에 대한 자세한 내용은 연결 해제 설치 미러링 을 참조하십시오.

    참고: 업그레이드한 현재 클러스터 버전의 이미지를 미러링된 이미지 중 하나로 항상 사용할 수 있어야 합니다. 업그레이드가 실패하면 클러스터는 업그레이드를 시도할 때 클러스터 버전으로 다시 돌아갑니다.

1.19.2.2. 연결이 끊긴 미러 레지스트리 준비

업그레이드하려는 이미지와 현재 이미지를 로컬 미러 레지스트리로 미러링해야 합니다. 이미지를 미러링하려면 다음 단계를 완료합니다.

  1. 다음 예와 유사한 콘텐츠가 포함된 스크립트 파일을 생성합니다.

    UPSTREAM_REGISTRY=quay.io
    PRODUCT_REPO=openshift-release-dev
    RELEASE_NAME=ocp-release
    OCP_RELEASE=4.5.2-x86_64
    LOCAL_REGISTRY=$(hostname):5000
    LOCAL_SECRET_JSON=/path/to/pull/secret
    
    oc adm -a ${LOCAL_SECRET_JSON} release mirror \
    --from=${UPSTREAM_REGISTRY}/${PRODUCT_REPO}/${RELEASE_NAME}:${OCP_RELEASE} \
    --to=${LOCAL_REGISTRY}/ocp4 \
    --to-release-image=${LOCAL_REGISTRY}/ocp4/release:${OCP_RELEASE}

    /path/to/pull/secret 을 OpenShift Container Platform 풀 시크릿의 경로로 교체합니다.

  2. 스크립트를 실행하여 이미지를 미러링하고, 설정을 구성하고, 릴리스 콘텐츠와 릴리스 이미지를 분리합니다.

팁: ImageContentSourcePolicy 를 생성할 때 이 스크립트의 마지막 줄의 출력을 사용할 수 있습니다.

1.19.2.3. OpenShift Update Service용 Operator 배포

OpenShift Container Platform 환경에서 OpenShift Update Service용 Operator를 배포하려면 다음 단계를 완료합니다.

  1. hub 클러스터에서 OpenShift Container Platform Operator 허브에 액세스합니다.
  2. Red Hat OpenShift Update Service Operator 를 선택하여 Operator를 배포합니다. 필요한 경우 기본값을 업데이트합니다. Operator를 배포하면 openshift-cincinnati 라는 새 프로젝트가 생성됩니다.
  3. Operator 설치가 완료될 때까지 기다립니다.

    팁: OpenShift Container Platform 명령줄에 oc get pods 명령을 입력하여 설치 상태를 확인할 수 있습니다. Operator가 running 상태인지 확인합니다.

1.19.2.4. 그래프 데이터 init 컨테이너 빌드

OpenShift Update Service는 그래프 데이터 정보를 사용하여 사용 가능한 업그레이드를 결정합니다. 연결된 환경에서 OpenShift Update Service는 Cincinnati 그래프 데이터 GitHub 리포지토리에서 직접 사용 가능한 업그레이드를 위한 그래프 데이터 정보를 가져옵니다. 연결이 끊긴 환경을 구성하므로 init 컨테이너 를 사용하여 로컬 리포지토리에서 그래프 데이터를 사용할 수 있도록 해야 합니다. 그래프 데이터 init 컨테이너 를 생성하려면 다음 단계를 완료합니다.

  1. 다음 명령을 입력하여 그래프 데이터 Git 리포지토리를 복제합니다.

    git clone https://github.com/openshift/cincinnati-graph-data
  2. 그래프 데이터 init 에 대한 정보가 포함된 파일을 만듭니다. 이 샘플 Dockerfilecincinnati-operator GitHub 리포지토리에서 찾을 수 있습니다. 파일의 내용은 다음 샘플에 표시됩니다.

    FROM registry.access.redhat.com/ubi8/ubi:8.1
    
    RUN curl -L -o cincinnati-graph-data.tar.gz https://github.com/openshift/cincinnati-graph-data/archive/master.tar.gz
    
    RUN mkdir -p /var/lib/cincinnati/graph-data/
    
    CMD exec /bin/bash -c "tar xvzf cincinnati-graph-data.tar.gz -C /var/lib/
    cincinnati/graph-data/ --strip-components=1"

    이 예제에서는 다음을 수행합니다.

    • FROM 값은 OpenShift Update Service가 이미지를 찾는 외부 레지스트리입니다.
    • RUN 명령은 디렉터리를 생성하고 업그레이드 파일을 패키징합니다.
    • CMD 명령은 패키지 파일을 로컬 리포지토리에 복사하고 업그레이드할 파일을 추출합니다.
  3. 다음 명령을 실행하여 그래프 데이터 init 컨테이너 를 빌드합니다.

    podman build -f <path_to_Dockerfile> -t ${DISCONNECTED_REGISTRY}/cincinnati/cincinnati-graph-data-container:latest
    podman push ${DISCONNECTED_REGISTRY}/cincinnati/cincinnati-graph-data-container:latest --authfile=/path/to/pull_secret.json

    path_to_Dockerfile 을 이전 단계에서 만든 파일의 경로로 바꿉니다.

    ${DISCONNECTED_REGISTRY}/cincinnati/cincinnati-data-container 를 로컬 그래프 데이터 init 컨테이너의 경로로 교체합니다.

    /path/to/pull_secret 을 가져오기 보안 파일의 경로로 바꿉니다.

    참고: podman 이 설치되지 않은 경우 명령에서 podmandocker 로 교체할 수도 있습니다.

1.19.2.5. 미러링된 레지스트리에 대한 인증서 구성

미러링된 OpenShift Container Platform 릴리스 이미지를 저장하기 위해 보안 외부 컨테이너 레지스트리를 사용하는 경우 OpenShift Update Service는 업그레이드 그래프를 빌드하기 위해 이 레지스트리에 액세스해야 합니다. OpenShift Update Service Pod에서 작동하도록 CA 인증서를 구성하려면 다음 단계를 완료합니다.

  1. image.config.openshift.io 에 있는 OpenShift Container Platform 외부 레지스트리 API를 찾습니다. 외부 레지스트리 CA 인증서가 저장되는 위치입니다.

    자세한 내용은 OpenShift Container Platform 설명서에서 이미지 레지스트리 액세스를 위한 추가 신뢰 저장소 구성을 참조하십시오.

  2. openshift-config 네임스페이스에 ConfigMap을 생성합니다.
  3. updateservice-registry 아래에 CA 인증서를 추가합니다. OpenShift Update Service는 이 설정을 사용하여 인증서를 찾습니다.

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: trusted-ca
    data:
      updateservice-registry: |
        -----BEGIN CERTIFICATE-----
        ...
        -----END CERTIFICATE-----
  4. image.config.openshift.io API에서 클러스터 리소스를 편집하여 additionalTrustedCA 필드를 생성한 ConfigMap의 이름으로 설정합니다.

    oc patch image.config.openshift.io cluster -p '{"spec":{"additionalTrustedCA":{"name":"trusted-ca"}}}' --type merge

    trusted-ca 를 새 ConfigMap의 경로로 교체합니다.

OpenShift Update Service Operator는 openshift-config 네임스페이스에서 생성한 image.config.openshift.io API 및 변경 사항을 확인한 다음 CA 인증서가 변경된 경우 배포를 다시 시작합니다.

1.19.2.6. OpenShift Update Service 인스턴스 배포

hub 클러스터에 OpenShift Update Service 인스턴스 배포를 완료하면 이 인스턴스는 클러스터 업그레이드용 이미지가 미러링되어 연결이 끊긴 관리 클러스터에서 사용할 수 있게 됩니다. 인스턴스를 배포하려면 다음 단계를 완료합니다.

  1. openshift-cincinnati 인 Operator의 기본 네임스페이스를 사용하지 않으려면 OpenShift Update Service 인스턴스의 네임스페이스를 생성합니다.

    1. OpenShift Container Platform 허브 클러스터 콘솔 탐색 메뉴에서 관리 > 네임스페이스를 선택합니다.
    2. 네임스페이스 생성을 선택합니다.
    3. 네임스페이스의 이름과 네임스페이스의 기타 정보를 추가합니다.
    4. 생성을 선택하여 네임스페이스를 생성합니다.
  2. OpenShift Container Platform 콘솔의 설치된 Operator 섹션에서 Red Hat OpenShift Update Service Operator 를 선택합니다.
  3. 메뉴에서 Create Instance 를 선택합니다.
  4. OpenShift Update Service 인스턴스에서 콘텐츠를 붙여넣습니다. YAML 인스턴스는 다음 매니페스트와 유사합니다.

    apiVersion: cincinnati.openshift.io/v1beta2
    kind: Cincinnati
    metadata:
      name: openshift-update-service-instance
      namespace: openshift-cincinnati
    spec:
      registry: <registry_host_name>:<port>
      replicas: 1
      repository: ${LOCAL_REGISTRY}/ocp4/release
      graphDataImage: '<host_name>:<port>/cincinnati-graph-data-container'

    spec.registry 값을 이미지의 연결이 끊긴 로컬 레지스트리 경로로 바꿉니다.

    spec.graphDataImage 값을 그래프 데이터 init 컨테이너의 경로로 교체합니다. 팁: 그래프 데이터 init 컨테이너를 푸시하기 위해 podman push 명령을 실행할 때 사용한 값과 동일합니다.

  5. 만들기 를 선택하여 인스턴스를 만듭니다.
  6. hub 클러스터 CLI에서 oc get pods 명령을 입력하여 인스턴스 생성 상태를 확인합니다. 이 작업은 다소 시간이 걸릴 수 있지만 명령 결과에 인스턴스 및 Operator가 실행 중임을 표시하면 프로세스가 완료됩니다.

1.19.2.7. 기본 레지스트리를 덮어쓰는 정책을 배포합니다(선택 사항)

참고: 이 섹션의 단계는 릴리스를 미러링된 레지스트리로 미러링한 경우에만 적용됩니다.

OpenShift Container Platform에는 업그레이드 패키지를 찾을 위치를 지정하는 기본 이미지 레지스트리 값이 있습니다. 연결이 끊긴 환경에서는 해당 값을 릴리스 이미지를 미러링한 로컬 이미지 레지스트리의 경로로 교체하는 정책을 생성할 수 있습니다.

이 단계에서 정책의 이름은 ImageContentSourcePolicy 입니다. 정책을 생성하려면 다음 단계를 완료합니다.

  1. hub 클러스터의 OpenShift Container Platform 환경에 로그인합니다.
  2. OpenShift Container Platform 탐색에서 Administration > Custom Resource Definitions 를 선택합니다.
  3. Instances 탭을 선택합니다.
  4. 연결 해제된 OLM을 설정하여 콘텐츠를 볼 때 생성한 ImageContentSourcePolicy 의 이름을 선택합니다.
  5. YAML 탭을 선택하여 YAML 형식으로 된 콘텐츠를 확인합니다.
  6. ImageContentSourcePolicy의 전체 콘텐츠를 복사합니다.
  7. Red Hat Advanced Cluster Management 콘솔에서 관리 &gt ; 정책 만들기를 선택합니다.
  8. YAML 스위치를 On 으로 설정하여 정책의 YAML 버전을 확인합니다.
  9. YAML 코드의 모든 콘텐츠를 삭제합니다.
  10. 다음 YAML 콘텐츠를 창에 붙여넣어 사용자 지정 정책을 생성합니다.

    apiVersion: policy.open-cluster-management.io/v1
    kind: Policy
    metadata:
      name: policy-pod
      namespace: default
      annotations:
        policy.open-cluster-management.io/standards: ""
        policy.open-cluster-management.io/categories: ""
        policy.open-cluster-management.io/controls: ""
    spec:
      disabled: false
      remediationAction: enforce
      policy-templates:
        - objectDefinition:
            apiVersion: policy.open-cluster-management.io/v1
            kind: ConfigurationPolicy
            metadata:
              name: policy-pod-sample-nginx-pod
              namespace: default
            spec:
              remediationAction: inform
              severity: low
              object-templates:
                - complianceType: musthave
                  objectDefinition:
                    apiVersion: operator.openshift.io/v1alpha1
                    kind: ImageContentSourcePolicy
                    metadata:
                      name: <your-local-mirror-name>
                    spec:
                      repositoryDigestMirrors:
                        - mirrors:
                            - <your-registry>
                          source: registry.redhat.io
    ---
    apiVersion: policy.open-cluster-management.io/v1
    kind: PlacementBinding
    metadata:
      name: binding-policy-pod
      namespace: default
    placementRef:
      name: placement-policy-pod
      kind: PlacementRule
      apiGroup: apps.open-cluster-management.io
    subjects:
    - name: policy-pod
      kind: Policy
      apiGroup: policy.open-cluster-management.io
    ---
    apiVersion: apps.open-cluster-management.io/v1
    kind: PlacementRule
    metadata:
      name: placement-policy-pod
      namespace: default
    spec:
      clusterConditions:
      - status: "True"
        type: ManagedClusterConditionAvailable
      clusterSelector:
        matchExpressions:
          []  # selects all clusters if not specified
  11. 템플릿의 objectDefinition 섹션 내의 콘텐츠를 콘텐츠로 교체하고 ImageContentSourcePolicy 의 설정을 추가합니다. path-to-local-mirror 를 로컬 미러 저장소의 경로로 바꿉니다.

    팁: oc adm release mirror 명령을 입력하여 로컬 미러의 경로를 찾을 수 있습니다.

  12. 지원되는 경우 Enforce 상자를 선택합니다.
  13. 생성을 선택하여 정책을 생성합니다.

1.19.2.8. 연결이 끊긴 카탈로그 소스를 배포하는 정책을 배포합니다.

Catalogsource 정책을 관리형 클러스터로 푸시하여 연결된 위치에서 연결이 끊긴 로컬 레지스트리로 기본 위치를 변경합니다.

  1. Red Hat Advanced Cluster Management 콘솔에서 Infrastructure > Clusters 를 선택합니다.
  2. 클러스터 목록에서 정책을 수신하도록 관리형 클러스터를 찾습니다.
  3. 관리 클러스터의 name 레이블 값을 기록해 둡니다. 레이블 형식은 name=managed-cluster-name 입니다. 이 값은 정책을 푸시할 때 사용됩니다.
  4. Red Hat Advanced Cluster Management 콘솔 메뉴에서 Governance > Create policy 를 선택합니다.
  5. YAML 스위치를 On 으로 설정하여 정책의 YAML 버전을 확인합니다.
  6. YAML 코드의 모든 콘텐츠를 삭제합니다.
  7. 다음 YAML 콘텐츠를 창에 붙여넣어 사용자 지정 정책을 생성합니다.

    apiVersion: policy.open-cluster-management.io/v1
    kind: Policy
    metadata:
      name: policy-pod
      namespace: default
      annotations:
        policy.open-cluster-management.io/standards:
        policy.open-cluster-management.io/categories:
        policy.open-cluster-management.io/controls:
    spec:
      disabled: false
      policy-templates:
        - objectDefinition:
            apiVersion: policy.open-cluster-management.io/v1
            kind: ConfigurationPolicy
            metadata:
              name: policy-pod-sample-nginx-pod
            spec:
              object-templates:
                - complianceType: musthave
                  objectDefinition:
                    apiVersion: v1
                    kind: Pod
                    metadata:
                      name: sample-nginx-pod
                      namespace: default
                    status:
                      phase: Running
              remediationAction: inform
              severity: low
      remediationAction: enforce
    ---
    apiVersion: policy.open-cluster-management.io/v1
    kind: PlacementBinding
    metadata:
      name: binding-policy-pod
      namespace: default
    placementRef:
      name: placement-policy-pod
      kind: PlacementRule
      apiGroup: apps.open-cluster-management.io
    subjects:
    - name: policy-pod
      kind: Policy
      apiGroup: policy.open-cluster-management.io
    ---
    apiVersion: apps.open-cluster-management.io/v1
    kind: PlacementRule
    metadata:
      name: placement-policy-pod
      namespace: default
    spec:
      clusterConditions:
      - status: "True"
        type: ManagedClusterConditionAvailable
      clusterSelector:
        matchExpressions:
          []  # selects all clusters if not specified
  8. 정책에 다음 내용을 추가합니다.

    apiVersion: config.openshift.io/vi
    kind: OperatorHub
    metadata:
     name: cluster
    spec:
     disableAllDefaultSources: true
  9. 다음 콘텐츠를 추가합니다.

    apiVersion: operators.coreos.com/v1alpha1
    kind: CatalogSource
    metadata:
      name: my-operator-catalog
      namespace: openshift-marketplace
    spec:
      sourceType: grpc
      image: <registry_host_name>:<port>/olm/redhat-operators:v1
      displayName: My Operator Catalog
      publisher: grpc

    spec.image 값을 로컬 제한된 카탈로그 소스 이미지의 경로로 교체합니다.

  10. Red Hat Advanced Cluster Management 콘솔 탐색에서 인프라 > 클러스터를 선택하여 관리형 클러스터의 상태를 확인합니다. 정책이 적용되면 클러스터 상태가 준비됩니다.

1.19.2.9. 관리 클러스터 매개변수 변경에 대한 정책 배포

ClusterVersion 정책을 관리형 클러스터로 푸시하여 업그레이드를 검색하는 기본 위치를 변경합니다.

  1. 관리형 클러스터에서 다음 명령을 입력하여 ClusterVersion 업스트림 매개변수가 현재 기본 공용 OpenShift Update Service 피연산자인지 확인합니다.

    oc get clusterversion -o yaml

    반환된 내용은 다음 내용과 유사합니다.

    apiVersion: v1
    items:
    - apiVersion: config.openshift.io/v1
      kind: ClusterVersion
    [..]
      spec:
        channel: stable-4.4
        upstream: https://api.openshift.com/api/upgrades_info/v1/graph
  2. hub 클러스터에서 oc get routes 명령을 입력하여 OpenShift Update Service 피연산자에 대한 경로 URL을 확인합니다.

    팁: 이후 단계에서 이 값을 기록해 두십시오.

  3. hub 클러스터에서 Red Hat Advanced Cluster Management 콘솔 메뉴에서 거버넌스 > 정책 만들기를 선택합니다.
  4. YAML 스위치를 On 으로 설정하여 정책의 YAML 버전을 확인합니다.
  5. YAML 코드의 모든 콘텐츠를 삭제합니다.
  6. 다음 YAML 콘텐츠를 창에 붙여넣어 사용자 지정 정책을 생성합니다.

    apiVersion: policy.open-cluster-management.io/v1
    kind: Policy
    metadata:
      name: policy-pod
      namespace: default
      annotations:
        policy.open-cluster-management.io/standards:
        policy.open-cluster-management.io/categories:
        policy.open-cluster-management.io/controls:
    spec:
      disabled: false
      policy-templates:
        - objectDefinition:
            apiVersion: policy.open-cluster-management.io/v1
            kind: ConfigurationPolicy
            metadata:
              name: policy-pod-sample-nginx-pod
            spec:
              object-templates:
                - complianceType: musthave
                  objectDefinition:
                    apiVersion: v1
                    kind: Pod
                    metadata:
                      name: sample-nginx-pod
                      namespace: default
                    status:
                      phase: Running
              remediationAction: inform
              severity: low
      remediationAction: enforce
    ---
    apiVersion: policy.open-cluster-management.io/v1
    kind: PlacementBinding
    metadata:
      name: binding-policy-pod
      namespace: default
    placementRef:
      name: placement-policy-pod
      kind: PlacementRule
      apiGroup: apps.open-cluster-management.io
    subjects:
    - name: policy-pod
      kind: Policy
      apiGroup: policy.open-cluster-management.io
    ---
    apiVersion: apps.open-cluster-management.io/v1
    kind: PlacementRule
    metadata:
      name: placement-policy-pod
      namespace: default
    spec:
      clusterConditions:
      - status: "True"
        type: ManagedClusterConditionAvailable
      clusterSelector:
        matchExpressions:
          []  # selects all clusters if not specified
  7. policy 섹션의 policy.spec 에 다음 내용을 추가합니다.

    apiVersion: config.openshift.io/v1
      kind: ClusterVersion
      metadata:
        name: version
      spec:
        channel: stable-4.4
        upstream: https://example-cincinnati-policy-engine-uri/api/upgrades_info/v1/graph

    spec.upstream 값을 hub 클러스터 OpenShift Update Service 피연산자의 경로로 바꿉니다.

    팁: 다음 단계를 완료하여 피연산자의 경로를 결정할 수 있습니다.

    1. hub 클러스터에서 oc get routes -A 명령을 실행합니다.
    2. cincinnati. + 피연산자의 경로는 HOST/PORT 필드의 값입니다.
  8. 관리형 클러스터 CLI에서 ClusterVersion 의 업스트림 매개변수가 다음과 같이 입력하여 로컬 허브 클러스터 OpenShift Update Service URL로 업데이트되었는지 확인합니다.

    oc get clusterversion -o yaml

    결과가 다음 내용과 유사한지 확인합니다.

    apiVersion: v1
    items:
    - apiVersion: config.openshift.io/v1
      kind: ClusterVersion
    [..]
      spec:
        channel: stable-4.4
        upstream: https://<hub-cincinnati-uri>/api/upgrades_info/v1/graph

1.19.2.10. 사용 가능한 업그레이드 보기

다음 단계를 완료하여 관리 클러스터에 사용 가능한 업그레이드 목록을 볼 수 있습니다.

  1. Red Hat Advanced Cluster Management 콘솔에 로그인합니다.
  2. 탐색 메뉴에서 인프라 > 클러스터를 선택합니다.
  3. Ready 상태에 있는 클러스터를 선택합니다.
  4. 작업 메뉴에서 클러스터 업그레이드를 선택합니다.
  5. 선택적 업그레이드 경로를 사용할 수 있는지 확인합니다.

    참고: 현재 버전이 로컬 이미지 저장소에 미러링되지 않은 경우 사용 가능한 업그레이드 버전이 표시되지 않습니다.

1.19.2.11. 채널 선택

Red Hat Advanced Cluster Management 콘솔을 사용하여 OpenShift Container Platform 버전 4.6 이상에서 클러스터 업그레이드 채널을 선택할 수 있습니다. 이러한 버전은 미러 레지스트리에서 사용할 수 있어야 합니다. 업그레이드 채널을 지정하려면 채널 선택 단계를 완료합니다.

1.19.2.12. 클러스터 업그레이드

연결이 끊긴 레지스트리를 구성한 후 Red Hat Advanced Cluster Management 및 OpenShift Update Service는 연결이 끊긴 레지스트리를 사용하여 업그레이드를 사용할 수 있는지 확인합니다. 사용 가능한 업그레이드가 표시되지 않는 경우 현재 클러스터 수준의 릴리스 이미지와 하나 이상의 이후 수준이 로컬 저장소에 미러링되어 있는지 확인합니다. 현재 버전의 클러스터의 릴리스 이미지를 사용할 수 없는 경우 업그레이드를 사용할 수 없습니다.

업그레이드하려면 다음 단계를 완료합니다.

  1. Red Hat Advanced Cluster Management 콘솔에서 Infrastructure > Clusters 를 선택합니다.
  2. 사용 가능한 업그레이드가 있는지 확인할 클러스터를 찾습니다.
  3. 사용 가능한 업그레이드가 있는 경우 클러스터의 배포 버전 열에 사용 가능한 업그레이드가 있음을 나타냅니다.
  4. 클러스터의 옵션 메뉴를 선택하고 클러스터 업그레이드를 선택합니다.
  5. 업그레이드 대상 버전을 선택하고 업그레이드를 선택합니다.

관리 클러스터는 선택한 버전으로 업데이트됩니다.

클러스터 업그레이드가 실패하면 Operator는 일반적으로 업그레이드를 몇 번 재시도하고 중지한 후 실패한 구성 요소의 상태를 보고합니다. 경우에 따라 업그레이드 프로세스가 프로세스를 완료하기 위한 시도로 계속 순환됩니다. 실패한 업그레이드 후 클러스터를 이전 버전으로 롤백하는 것은 지원되지 않습니다. 클러스터 업그레이드가 실패하는 경우 Red Hat 지원에 문의하십시오.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.