1.5. 다중 클러스터 엔진 Operator 설치 및 업그레이드
다중 클러스터 엔진 Operator는 클러스터 플릿 관리를 개선하는 소프트웨어 운영자입니다. 멀티 클러스터 엔진 Operator는 클라우드 및 데이터 센터 전체에서 Red Hat OpenShift Container Platform 및 Kubernetes 클러스터 라이프사이클 관리를 지원합니다.
이 문서는 특정 구성 요소 또는 기능이 도입되어 최신 버전의 OpenShift Container Platform에서만 테스트되지 않는 한 가장 빨리 지원되는 OpenShift Container Platform 버전을 참조합니다.
전체 지원 정보는 다중 클러스터 엔진 Operator 지원 매트릭스 를 참조하십시오. 라이프 사이클 정보는 Red Hat OpenShift Container Platform 라이프 사이클 정책을 참조하십시오.
중요: Red Hat Advanced Cluster Management를 사용하는 경우 Kubernetes Operator를 위한 다중 클러스터 엔진이 클러스터에 이미 설치되어 있습니다.
더 이상 사용되지 않음: 다중 클러스터 엔진 Operator 2.4 및 이전 버전은 더 이상 지원되지 않습니다. 문서는 사용할 수 있지만 수정된 문제 또는 기타 업데이트에 대한 에라타 릴리스는 없습니다.
모범 사례: 최신 버전으로 업그레이드합니다.
다음 설명서를 참조하십시오.
1.5.1. 온라인으로 연결하는 동안 설치 링크 복사링크가 클립보드에 복사되었습니다!
다중 클러스터 엔진 Operator는 다중 클러스터 엔진 Operator를 포함하는 구성 요소의 설치, 업그레이드 및 제거를 관리하는 Operator Lifecycle Manager와 함께 설치됩니다.
필수 액세스: 클러스터 관리자
중요:
-
외부 클러스터에 구성된
ManagedCluster
리소스가 있는 클러스터에 다중 클러스터 엔진 Operator를 설치할 수 없습니다. 다중 클러스터 엔진 Operator를 설치하려면 먼저 외부 클러스터에서ManagedCluster
리소스를 제거해야 합니다. -
OpenShift Container Platform Dedicated 환경의 경우
cluster-admin
권한이 있어야 합니다. 기본적으로dedicated-admin
역할에는 OpenShift Container Platform Dedicated 환경에서 네임스페이스를 생성하는 데 필요한 권한이 없습니다. - 기본적으로 다중 클러스터 엔진 Operator 구성 요소는 추가 구성없이 OpenShift Container Platform 클러스터의 작업자 노드에 설치됩니다. OpenShift Container Platform OperatorHub 웹 콘솔 인터페이스를 사용하거나 OpenShift Container Platform CLI를 사용하여 다중 클러스터 엔진 Operator를 작업자 노드에 설치할 수 있습니다.
- 인프라 노드를 사용하여 OpenShift Container Platform 클러스터를 구성하는 경우 추가 리소스 매개변수와 함께 OpenShift Container Platform CLI를 사용하여 다중 클러스터 엔진 Operator를 해당 인프라 노드에 설치할 수 있습니다. 자세한 내용은 인프라 노드에 다중 클러스터 엔진 설치 섹션을 참조하십시오.
OpenShift Container Platform 또는 다중 클러스터 엔진 Operator에서 생성하지 않은 Kubernetes 클러스터를 가져오려면 이미지 가져오기 보안을 구성해야 합니다. 이미지 풀 시크릿 및 기타 고급 구성을 구성하는 방법에 대한 자세한 내용은 이 문서의 고급 구성 섹션의 옵션을 참조하십시오.
1.5.1.1. 사전 요구 사항 링크 복사링크가 클립보드에 복사되었습니다!
다중 클러스터 엔진 Operator를 설치하기 전에 다음 사전 요구 사항을 참조하십시오.
- OpenShift Container Platform 클러스터는 콘솔에서 OperatorHub 카탈로그의 다중 클러스터 엔진 Operator에 액세스할 수 있어야 합니다.
- catalog.redhat.com 에 액세스해야 합니다.
-
클러스터에 외부 클러스터에 구성된
ManagedCluster
리소스가 없습니다. 지원되는 OpenShift Container Platform 버전은 환경에 배포해야 하며 OpenShift Container Platform CLI로 로그인해야 합니다. 다음 설치 설명서를 참조하십시오.
-
oc
명령을 실행하도록 OpenShift Container Platform CLI(명령줄 인터페이스)를 구성해야 합니다. OpenShift Container Platform CLI 설치 및 구성에 대한 정보는 CLI로 시작하기 를 참조하십시오. - OpenShift Container Platform 권한에서 네임스페이스를 생성할 수 있어야 합니다.
- Operator의 종속 항목에 액세스하려면 인터넷 연결이 있어야 합니다.
OpenShift Container Platform Dedicated 환경에 설치하려면 다음을 참조하십시오.
- OpenShift Container Platform Dedicated 환경이 구성되어 실행되고 있어야 합니다.
-
엔진을 설치하는 OpenShift Container Platform Dedicated 환경에 대한
cluster-admin
권한이 있어야 합니다.
- Red Hat OpenShift Container Platform과 함께 제공되는 지원 설치 관리자를 사용하여 관리 클러스터를 생성하려면 요구 사항에 대한 OpenShift Container Platform 설명서의 지원 설치 관리자 준비를 참조하십시오.
1.5.1.2. OpenShift Container Platform 설치 확인 링크 복사링크가 클립보드에 복사되었습니다!
레지스트리 및 스토리지 서비스를 포함하여 지원되는 OpenShift Container Platform 버전이 설치되어 작동해야 합니다. OpenShift Container Platform 설치에 대한 자세한 내용은 OpenShift Container Platform 설명서를 참조하십시오.
- 다중 클러스터 엔진 Operator가 OpenShift Container Platform 클러스터에 아직 설치되지 않았는지 확인합니다. 다중 클러스터 엔진 Operator는 각 OpenShift Container Platform 클러스터에서 하나의 단일 설치만 허용합니다. 설치가 없는 경우 다음 단계를 계속 진행합니다.
OpenShift Container Platform 클러스터가 올바르게 설정되었는지 확인하려면 다음 명령을 사용하여 OpenShift Container Platform 웹 콘솔에 액세스합니다.
kubectl -n openshift-console get route console
kubectl -n openshift-console get route console
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 예제 출력을 참조하십시오.
console console-openshift-console.apps.new-coral.purple-chesterfield.com console https reencrypt/Redirect None
console console-openshift-console.apps.new-coral.purple-chesterfield.com console https reencrypt/Redirect None
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
브라우저에서 URL을 열고 결과를 확인합니다. 콘솔 URL에
console-openshift-console.router.default.svc.cluster.local
이 표시되면 OpenShift Container Platform을 설치할 때openshift_master_default_subdomain
값을 설정합니다. URL의 다음 예제를 참조하십시오.https://console-openshift-console.apps.new-coral.purple-chesterfield.com
.
다중 클러스터 엔진 Operator 설치를 진행할 수 있습니다.
1.5.1.3. OperatorHub 웹 콘솔 인터페이스에서 설치 링크 복사링크가 클립보드에 복사되었습니다!
모범 사례: OpenShift Container Platform 탐색의 관리자 보기에서 OpenShift Container Platform과 함께 제공되는 OperatorHub 웹 콘솔 인터페이스를 설치합니다.
- Operator > OperatorHub 를 선택하여 사용 가능한 Operator 목록에 액세스하고 Kubernetes Operator의 다중 클러스터 엔진을 선택합니다.
-
설치를
클릭합니다. Operator 설치 페이지에서 설치 옵션을 선택합니다.
namespace:
- 다중 클러스터 엔진 Operator 엔진은 자체 네임스페이스 또는 프로젝트에 설치해야 합니다.
-
기본적으로 OperatorHub 콘솔 설치 프로세스는
multicluster-engine
이라는 네임스페이스를 생성합니다. 모범 사례: 사용 가능한 경우multicluster-engine
네임스페이스를 계속 사용합니다. -
이미
multicluster-engine
이라는 네임스페이스가 있는 경우 다른 네임스페이스를 선택합니다.
- 채널: 선택한 채널은 설치 중인 릴리스에 해당합니다. 채널을 선택하면 식별된 릴리스를 설치하고 해당 릴리스 내에서 향후 에라타가 업데이트되도록 설정합니다.
승인 전략: 승인 전략은 서브스크립션한 채널 또는 릴리스에 업데이트를 적용하는 데 필요한 인적 상호 작용을 식별합니다.
- 기본적으로 선택한 자동 을 선택하여 해당 릴리스 내의 업데이트가 자동으로 적용되도록 합니다.
- 업데이트를 사용할 수 있을 때 알림을 받으려면 수동 을 선택합니다. 업데이트가 적용되는 시기에 대해 우려 사항이 있는 경우 이 방법을 사용하는 것이 좋습니다.
참고: 다음 마이너 릴리스로 업그레이드하려면 OperatorHub 페이지로 돌아가서 최신 릴리스의 새 채널을 선택해야 합니다.
- 설치를 선택하여 변경 사항을 적용하고 Operator를 생성합니다.
MultiClusterEngine 사용자 정의 리소스를 생성하려면 다음 프로세스를 참조하십시오.
- OpenShift Container Platform 콘솔 탐색에서 Installed Operators > multicluster engine for Kubernetes 를 선택합니다.
- MultiCluster Engine 탭을 선택합니다.
- Create MultiClusterEngine 을 선택합니다.
YAML 파일에서 기본값을 업데이트합니다. 문서의 MultiClusterEngine 고급 구성 섹션의 옵션을 참조하십시오.
- 다음 예제에서는 편집기에 복사할 수 있는 기본 템플릿을 보여줍니다.
apiVersion: multicluster.openshift.io/v1 kind: MultiClusterEngine metadata: name: multiclusterengine spec: {}
apiVersion: multicluster.openshift.io/v1 kind: MultiClusterEngine metadata: name: multiclusterengine spec: {}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
생성 을 선택하여 사용자 지정 리소스를 초기화합니다. 다중 클러스터 엔진 Operator 엔진을 빌드하고 시작하는 데 최대 10분이 걸릴 수 있습니다.
MultiClusterEngine 리소스가 생성되면 MultiCluster Engine 탭에서 리소스 상태가
Available
(사용 가능)입니다.
1.5.1.4. OpenShift Container Platform CLI에서 설치 링크 복사링크가 클립보드에 복사되었습니다!
Operator 요구 사항이 포함된 다중 클러스터 엔진 Operator 엔진 네임스페이스를 생성합니다. 다음 명령을 실행합니다. 여기서
namespace
는 Kubernetes Operator 네임스페이스의 다중 클러스터 엔진의 이름입니다.namespace
값은 OpenShift Container Platform 환경에서 Project 라고 할 수 있습니다.oc create namespace <namespace>
oc create namespace <namespace>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 프로젝트 네임스페이스를 생성한 네임스페이스로 전환합니다. 1단계에서 생성한 Kubernetes Operator 네임스페이스의 다중 클러스터 엔진 이름으로
namespace
를 바꿉니다.oc project <namespace>
oc project <namespace>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow YAML 파일을 생성하여
OperatorGroup
리소스를 구성합니다. 각 네임스페이스에는 하나의 operator 그룹만 있을 수 있습니다.default
를 operator 그룹의 이름으로 바꿉니다.namespace
를 프로젝트 네임스페이스의 이름으로 교체합니다. 다음 예제를 참조하십시오.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여
OperatorGroup
리소스를 생성합니다.operator-group
을 생성한 operator 그룹 YAML 파일의 이름으로 교체합니다.oc apply -f <path-to-file>/<operator-group>.yaml
oc apply -f <path-to-file>/<operator-group>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow YAML 파일을 생성하여 OpenShift Container Platform 서브스크립션을 구성합니다. 파일이 다음 예제와 유사하게 표시되고 <
stable-2.x
>가 사용 중인 지원되는 버전을 나타내도록 변경되었습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고: 인프라 노드를 구성하려면 다중 클러스터 엔진 Operator를 위한 인프라 노드 구성 을 참조하십시오.
=
+ . 다음 명령을 실행하여 OpenShift Container Platform 서브스크립션을 생성합니다. 서브스크립션
을 생성한 서브스크립션 파일의 이름으로 교체합니다.
+
oc apply -f <path-to-file>/<subscription>.yaml
oc apply -f <path-to-file>/<subscription>.yaml
YAML 파일을 생성하여
MultiClusterEngine
사용자 정의 리소스를 구성합니다. 기본 템플릿은 다음 예와 유사해야 합니다.apiVersion: multicluster.openshift.io/v1 kind: MultiClusterEngine metadata: name: multiclusterengine spec: {}
apiVersion: multicluster.openshift.io/v1 kind: MultiClusterEngine metadata: name: multiclusterengine spec: {}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고: 인프라 노드에 다중 클러스터 엔진 Operator를 설치하는 경우 MultiClusterEngine 사용자 정의 리소스 추가 구성 섹션을 참조하십시오.
다음 명령을 실행하여
MultiClusterEngine
사용자 정의 리소스를 생성합니다.custom-resource
를 사용자 정의 리소스 파일의 이름으로 교체합니다.oc apply -f <path-to-file>/<custom-resource>.yaml
oc apply -f <path-to-file>/<custom-resource>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 오류와 함께 이 단계가 실패하면 리소스가 계속 생성되고 적용됩니다. 리소스가 생성될 때 몇 분 후에 명령을 다시 실행합니다.
error: unable to recognize "./mce.yaml": no matches for kind "MultiClusterEngine" in version "operator.multicluster-engine.io/v1"
error: unable to recognize "./mce.yaml": no matches for kind "MultiClusterEngine" in version "operator.multicluster-engine.io/v1"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 사용자 정의 리소스를 가져옵니다. 다음 명령을 실행한 후
MultiClusterEngine
사용자 정의 리소스 상태가Available
으로 Available로 표시되는 데 최대 10분이 걸릴 수 있습니다.
oc get mce -o=jsonpath='{.items[0].status.phase}'
oc get mce -o=jsonpath='{.items[0].status.phase}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
다중 클러스터 엔진 Operator를 다시 설치하고 Pod가 시작되지 않는 경우 이 문제를 해결하기 위한 단계의 재생성 문제 해결을 참조하십시오.
참고:
-
ClusterRoleBinding
이 있는ServiceAccount
는 다중 클러스터 엔진 Operator 및 다중 클러스터 엔진 Operator를 설치하는 네임스페이스에 대한 액세스 권한이 있는 모든 사용자 인증 정보에 자동으로 클러스터 관리자 권한을 부여합니다.
이제 승인된 관리 구성 요소를 실행하기 위해 인프라 노드를 포함하도록 OpenShift Container Platform 클러스터를 구성할 수 있습니다. 인프라 노드에서 구성 요소를 실행하면 해당 관리 구성 요소를 실행하는 노드에 OpenShift Container Platform 서브스크립션 할당량이 할당되지 않습니다. 해당 절차 를 위해 다중 클러스터 엔진 Operator의 인프라 노드 구성 을 참조하십시오.
1.5.2. 다중 클러스터 엔진 Operator를 위한 인프라 노드 구성 링크 복사링크가 클립보드에 복사되었습니다!
승인된 다중 클러스터 엔진 Operator 관리 구성 요소를 실행하는 인프라 노드를 포함하도록 OpenShift Container Platform 클러스터를 구성합니다. 인프라 노드에서 구성 요소를 실행하면 다중 클러스터 엔진 Operator 관리 구성 요소를 실행하는 노드에 OpenShift Container Platform 서브스크립션 할당량이 할당되지 않습니다.
OpenShift Container Platform 클러스터에 인프라 노드를 추가한 후 OpenShift Container Platform CLI에서 설치 지침을 따르고 Operator Lifecycle Manager 서브스크립션 및 MultiClusterEngine
사용자 정의 리소스에 다음 구성을 추가합니다.
1.5.2.1. OpenShift Container Platform 클러스터에 인프라 노드 구성 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift Container Platform 설명서에서 인프라 머신 세트 생성에 설명된 절차를 따르십시오. 인프라 노드는 관리되지 않은 워크로드가 해당 워크로드가 실행되지 않도록 Kubernetes 테인트
및 라벨
을 사용하여 구성됩니다.
다중 클러스터 엔진 Operator에서 제공하는 인프라 노드 활성화와의 호환성을 위해 인프라 노드에 다음과 같은 테인트
및 라벨이
적용되었는지 확인합니다.
1.5.2.2. Operator Lifecycle Manager 서브스크립션 구성 링크 복사링크가 클립보드에 복사되었습니다!
Operator Lifecycle Manager 서브스크립션을 구성합니다.
Operator Lifecycle Manager 서브스크립션을 적용하기 전에 다음 추가 구성을 추가합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 노드 선택기 및 허용 오차를 포함하도록 모든 애드온을 업데이트합니다. klusterlet 애드온 구성 지침을 사용해야 합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Red Hat OpenShift Data Foundation을 스토리지 프로비저너로 사용한 경우 Container Storage Interface Pod가 인프라 노드에서 실행될 수 있는지 확인합니다. Red Hat OpenShift Data Foundation 설명서에서 CSI(Container Storage Interface) 구성 요소 배치 관리에 대해 자세히 알아보십시오.
1.5.2.3. MultiClusterEngine 사용자 정의 리소스 추가 구성 링크 복사링크가 클립보드에 복사되었습니다!
MultiClusterEngine
사용자 정의 리소스를 적용하기 전에 다음 추가 구성을 추가합니다.
spec: nodeSelector: node-role.kubernetes.io/infra: ""
spec:
nodeSelector:
node-role.kubernetes.io/infra: ""
1.5.3. 연결이 끊긴 네트워크에 설치 링크 복사링크가 클립보드에 복사되었습니다!
인터넷에 연결되지 않은 Red Hat OpenShift Container Platform 클러스터에 다중 클러스터 엔진 Operator를 설치해야 할 수 있습니다. 연결이 끊긴 엔진에 설치하려면 연결된 설치와 동일한 단계가 필요합니다.
설치 중에 네트워크에서 직접 액세스하는 대신 설치 중에 패키지 사본을 다운로드하여 설치 중에 액세스해야 합니다.
1.5.3.1. 사전 요구 사항 링크 복사링크가 클립보드에 복사되었습니다!
다중 클러스터 엔진 Operator를 설치하기 전에 다음 요구 사항을 충족해야 합니다.
- 지원되는 OpenShift Container Platform 버전은 환경에 배포해야 하며 CLI(명령줄 인터페이스)로 로그인해야 합니다.
catalog.redhat.com 에 액세스해야 합니다.
참고: 베어 메탈 클러스터를 관리하려면 지원되는 OpenShift Container Platform 버전이 필요합니다.
- Red Hat OpenShift Container Platform 권한에서 네임스페이스를 생성할 수 있도록 허용해야 합니다.
- Operator에 대한 종속성을 다운로드하려면 인터넷 연결이 있는 워크스테이션이 있어야 합니다.
1.5.3.2. OpenShift Container Platform 설치 확인 링크 복사링크가 클립보드에 복사되었습니다!
- 레지스트리 및 스토리지 서비스를 포함하여 지원되는 OpenShift Container Platform 버전이 클러스터에 설치되어 작동해야 합니다. OpenShift Container Platform에 대한 자세한 내용은 OpenShift Container Platform 설명서를 참조하십시오.
연결된 경우 다음 명령을 사용하여 OpenShift Container Platform 웹 콘솔에 액세스하여 확인합니다.
oc -n openshift-console get route console
oc -n openshift-console get route console
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 예제 출력을 참조하십시오.
console console-openshift-console.apps.new-name.purple-name.com console https reencrypt/Redirect None
console console-openshift-console.apps.new-name.purple-name.com console https reencrypt/Redirect None
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 예제의 콘솔 URL은
https:// console-openshift-console.apps.new-coral.purple-chesterfield.com
입니다. 브라우저에서 URL을 열고 결과를 확인합니다.콘솔 URL에
console-openshift-console.router.default.svc.cluster.local
이 표시되면 OpenShift Container Platform을 설치할 때openshift_master_default_subdomain
값을 설정합니다.
1.5.3.3. 연결이 끊긴 환경에 설치 링크 복사링크가 클립보드에 복사되었습니다!
중요: 연결이 끊긴 환경에서 Operator를 설치하려면 필요한 이미지를 미러링 레지스트리에 다운로드해야 합니다. 다운로드하지 않으면 배포 중에 ImagePullBackOff
오류가 표시될 수 있습니다.
다음 단계에 따라 연결이 끊긴 환경에 다중 클러스터 엔진 Operator를 설치합니다.
미러 레지스트리를 생성합니다. 미러 레지스트리가 아직 없는 경우 Red Hat OpenShift Container Platform 설명서의 연결이 끊긴 환경 미러링 주제의 절차를 완료하여 하나의 레지스트리를 생성합니다.
미러 레지스트리가 이미 있는 경우 기존 레지스트리를 구성하고 사용할 수 있습니다.
참고: 베어 메탈의 경우
install-config.yaml
파일에서 연결이 끊긴 레지스트리에 대한 인증서 정보를 제공해야 합니다. 보호된 연결이 끊긴 레지스트리에서 이미지에 액세스하려면 다중 클러스터 엔진 운영자가 레지스트리에 액세스할 수 있도록 인증서 정보를 제공해야 합니다.- 레지스트리에서 인증서 정보를 복사합니다.
-
편집기에서
install-config.yaml
파일을 엽니다. -
additionalTrustBundle: |
의 항목을 찾습니다. additionalTrustBundle
줄 뒤에 인증서 정보를 추가합니다. 결과 콘텐츠는 다음 예와 유사해야 합니다.additionalTrustBundle: | -----BEGIN CERTIFICATE----- certificate_content -----END CERTIFICATE----- sshKey: >-
additionalTrustBundle: | -----BEGIN CERTIFICATE----- certificate_content -----END CERTIFICATE----- sshKey: >-
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
선택 사항: 설치 후 호스트에 액세스할 수 있도록 하나 이상의 SSH 공개 키를 지정할 수 있습니다. 다음 예제를 참조하십시오.
sshKey: | ssh-rsa <public-key-1> ssh-rsa <public-key-2> ssh-rsa <public-key-3>
sshKey: | ssh-rsa <public-key-1> ssh-rsa <public-key-2> ssh-rsa <public-key-3>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 중요: 다음 Governance 정책이 필요한 경우 연결이 끊긴 이미지 레지스트리에 대한 추가 미러가 필요합니다.
-
Container Security Operator 정책:
registry.redhat.io/quay
소스의 이미지를 찾습니다. -
Compliance Operator 정책:
registry.redhat.io/compliance
소스의 이미지를 찾습니다. Gatekeeper Operator 정책:
registry.redhat.io/gatekeeper
소스에 이미지를 찾습니다.세 가지 연산자 모두에 대한 미러 목록의 다음 예제를 참조하십시오.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
Container Security Operator 정책:
-
install-config.yaml
파일을 저장합니다. mce-policy.yaml
이라는 이름으로ImageContentSourcePolicy
가 포함된 YAML 파일을 생성합니다. 참고: 실행 중인 클러스터에서 이 값을 수정하면 모든 노드가 롤링 재시작됩니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 입력하여 ImageContentSourcePolicy 파일을 적용합니다.
oc apply -f mce-policy.yaml
oc apply -f mce-policy.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 연결이 끊긴 Operator Lifecycle Manager Red Hat Operator 및 Community Operator를 활성화합니다.
멀티 클러스터 엔진 Operator는 Operator Lifecycle Manager Red Hat Operator 카탈로그에 포함되어 있습니다.
- Red Hat Operator 카탈로그에 대해 연결이 끊긴 Operator Lifecycle Manager를 구성합니다. Red Hat OpenShift Container Platform 설명서의 제한된 네트워크에서 Operator Lifecycle Manager 사용 주제의 단계를 따르십시오.
- Operator Lifecycle Manager 카탈로그에서 Kubernetes용 다중 클러스터 엔진 Operator를 계속 설치합니다.
필요한 단계는 온라인에 연결된 동안 설치를 참조하십시오.
1.5.4. 정책을 사용하여 연결이 끊긴 클러스터 업그레이드 링크 복사링크가 클립보드에 복사되었습니다!
MultiClusterHub
Operator를 사용하여 허브 클러스터 구성 요소를 관리, 업그레이드 및 설치하는 Red Hat Advanced Cluster Management for Kubernetes Hub 클러스터가 있는 경우 Red Hat Advanced Cluster Management 정책과 함께 OpenShift Update Service를 사용하여 연결이 끊긴 환경에서 여러 클러스터를 업그레이드할 수 있습니다.
OpenShift Update Service는 관리 클러스터의 사용 가능한 버전을 모니터링하고 연결이 끊긴 환경에서 업그레이드할 수 있도록 하는 별도의 Operator 및 피연산자입니다. OpenShift Update Service는 다음 작업을 수행할 수 있습니다.
- 연결이 끊긴 클러스터에 대한 업그레이드를 사용할 수 있는 시기를 모니터링합니다.
- 그래프 데이터 파일을 사용하여 업그레이드하기 위해 로컬 사이트로 미러링되는 업데이트를 확인합니다.
- 콘솔을 사용하여 클러스터에 업그레이드를 사용할 수 있음을 알립니다.
- 사전 요구 사항
- 연결이 끊긴 미러 레지스트리 준비
- OpenShift Update Service용 Operator 배포
- 그래프 데이터 init 컨테이너 빌드
- 미러링된 레지스트리의 인증서 구성
- OpenShift Update Service 인스턴스 배포
- 선택 사항: 기본 레지스트리를 덮어쓰도록 정책 배포
- 연결이 끊긴 카탈로그 소스 배포
- 관리 클러스터 매개변수를 변경하는 정책 배포
- 사용 가능한 업그레이드 보기
- 채널 선택
- 클러스터 업그레이드
- 추가 리소스
외부 레지스트리 CA 인증서에 대한 자세한 내용은 OpenShift Container Platform 설명서의 이미지 레지스트리 액세스에 대한 추가 신뢰 저장소 구성 을 참조하십시오.
1.5.4.1. 사전 요구 사항 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift Update Service를 사용하여 연결이 끊긴 클러스터를 업그레이드하려면 다음 사전 요구 사항이 있어야 합니다.
- Red Hat Advanced Cluster Management를 설치해야 합니다. Red Hat Advanced Cluster Management 설치 및 업그레이드 설명서를 참조하십시오.
- 제한된 OLM이 구성된 지원되는 Red Hat OpenShift Container Platform 버전에서 실행 중인 허브 클러스터가 필요합니다. 제한된 OLM 을 구성하는 방법에 대한 자세한 내용은 제한된 네트워크에서 Operator Lifecycle Manager 사용을 참조하십시오. 제한된 OLM을 구성할 때 카탈로그 소스 이미지를 기록해 두십시오.
- hub 클러스터에서 관리하는 OpenShift Container Platform 클러스터가 필요합니다.
클러스터 이미지를 미러링할 수 있는 로컬 저장소에 대한 액세스 인증 정보가 필요합니다. 자세한 내용은 연결이 끊긴 환경에서 미러링 을 참조하십시오.
참고: 업그레이드한 클러스터의 현재 버전의 이미지를 미러링된 이미지 중 하나로 계속 사용할 수 있어야 합니다. 업그레이드에 실패하면 클러스터에서 업그레이드하려고 할 때 클러스터 버전으로 되돌아갑니다.
1.5.4.2. 연결이 끊긴 미러 레지스트리 준비 링크 복사링크가 클립보드에 복사되었습니다!
업그레이드할 이미지와 로컬 미러 레지스트리로 업그레이드할 현재 이미지를 모두 미러링해야 합니다.
이미지를 미러링하려면 다음 단계를 완료합니다.
다음 예제와 유사한 콘텐츠로 스크립트 파일을 생성합니다. &
lt;pull-secret&
gt;을 OpenShift Container Platform 풀 시크릿의 경로로 바꿉니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 스크립트를 실행하여 이미지를 미러링하고, 설정을 구성하고, 릴리스 이미지와 릴리스 콘텐츠를 분리합니다.
1.5.4.3. OpenShift Update Service용 Operator 배포 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift Container Platform 환경에서 OpenShift Update Service용 Operator를 배포하려면 다음 단계를 완료하십시오.
- 허브 클러스터에서 OpenShift Container Platform Operator 허브에 액세스합니다.
-
OpenShift Update Service Operator
를 선택하여 Operator를 배포하고 필요한 경우 기본값을 업데이트합니다. Operator 배포는openshift-update-service
라는 새 프로젝트를 생성합니다. - Operator 설치가 완료될 때까지 기다립니다.
oc get pods
명령을 실행하여 설치 상태를 확인할 수 있습니다. Operator가 running
상태인지 확인합니다.
1.5.4.4. 그래프 데이터 init 컨테이너 빌드 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift Update Service는 그래프 데이터 정보를 사용하여 사용 가능한 업그레이드를 찾습니다. 연결된 환경에서 OpenShift Update Service는 update-service 그래프 데이터 GitHub 리포지토리에서 직접 업그레이드할 수 있는 그래프 데이터 정보를 가져옵니다.
연결이 끊긴 환경에서는 init 컨테이너
를 사용하여 로컬 리포지토리에서 그래프 데이터를 사용할 수 있도록 설정해야 합니다.
그래프 데이터 init 컨테이너
를 생성하려면 다음 단계를 완료합니다.
다음 명령을 실행하여 그래프 데이터 Git 리포지토리를 복제합니다.
git clone https://github.com/openshift/cincinnati-graph-data
git clone https://github.com/openshift/cincinnati-graph-data
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 그래프 데이터
init
에 대한 정보가 포함된 파일을 생성합니다.cincinnati-operator
GitHub 리포지토리에서 샘플 Dockerfile 을 찾을 수 있습니다.-
FROM
값은 OpenShift Update Service가 이미지를 찾는 외부 레지스트리입니다. -
RUN
명령은 디렉터리를 생성하고 업그레이드 파일을 패키징합니다. -
CMD
명령은 패키지 파일을 로컬 리포지토리에 복사하고 업그레이드를 위해 파일을 추출합니다.
-
다음 명령을 실행하여
그래프 데이터 init 컨테이너
를 빌드합니다.podman build -f <docker-path> -t <graph-path>:latest
podman build -f <docker-path> -t <graph-path>:latest
Copy to Clipboard Copied! Toggle word wrap Toggle overflow &
lt;docker-path
>를 이전 단계에서 생성한 파일의 경로로 바꿉니다.로컬 그래프 데이터 init 컨테이너의 경로로 바꿉니다
.
다음 명령을 실행하여
그래프 데이터 init 컨테이너
를 푸시합니다.podman push <graph-path>:latest --authfile=<pull-secret>.json
podman push <graph-path>:latest --authfile=<pull-secret>.json
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 로컬 그래프 데이터 init 컨테이너의 경로로 바꿉니다
.
&
lt;pull-secret&
gt;을 풀 시크릿 파일의 경로로 바꿉니다.
선택 사항: podman
을 설치하지 않은 경우 3단계와 4단계에서 podman
을 docker
로 교체합니다.
1.5.4.5. 미러링된 레지스트리의 인증서 구성 링크 복사링크가 클립보드에 복사되었습니다!
미러링된 OpenShift Container Platform 릴리스 이미지를 저장하기 위해 보안 외부 컨테이너 레지스트리를 사용하는 경우 OpenShift Update Service는 업그레이드 그래프를 빌드하기 위해 이 레지스트리에 액세스해야 합니다.
OpenShift Update Service Pod에서 작동하도록 CA 인증서를 구성하려면 다음 단계를 완료합니다.
-
image.config.openshift.io
에 있는 OpenShift Container Platform 외부 레지스트리 API를 찾습니다. 외부 레지스트리 CA 인증서가 저장되는 위치입니다. 자세한 내용은 추가 리소스 섹션에서 이미지 레지스트리 액세스에 대한 추가 신뢰 저장소 구성 을 참조하십시오. openshift-config
네임스페이스에 ConfigMap을 생성하고updateservice-registry
섹션에 CA 인증서를 추가합니다. 다음 예제를 참조하십시오.Copy to Clipboard Copied! Toggle word wrap Toggle overflow image.config.openshift.io
API에서클러스터
리소스를 편집하여additionalTrustedCA
필드를 생성한 ConfigMap의 이름으로 설정합니다. 다음 명령을 실행하고 <trusted_ca>
;를 새 ConfigMap의 경로로 바꿉니다.oc patch image.config.openshift.io cluster -p '{"spec":{"additionalTrustedCA":{"name":"<trusted_ca>"}}}' --type merge
oc patch image.config.openshift.io cluster -p '{"spec":{"additionalTrustedCA":{"name":"<trusted_ca>"}}}' --type merge
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
OpenShift Update Service Operator는 openshift-config 네임스페이스에서 생성한 image.config.openshift.io
API 및 openshift-config
네임스페이스에서 생성한 ConfigMap을 모니터링한 다음 CA 인증서가 변경된 경우 배포를 다시 시작합니다.
1.5.4.6. OpenShift Update Service 인스턴스 배포 링크 복사링크가 클립보드에 복사되었습니다!
허브 클러스터에 OpenShift Update Service 인스턴스 배포를 완료하면 클러스터 업그레이드의 이미지를 미러링하고 연결이 끊긴 관리 클러스터에서 사용할 수 있는 인스턴스가 있습니다.
인스턴스를 배포하려면 다음 단계를 완료합니다.
- Operator의 기본 네임스페이스를 사용하지 않으려면 콘솔에서 Administration > Namespaces 로 이동하여 변경합니다.
- OpenShift Container Platform 콘솔의 설치된 Operator 섹션에서 OpenShift Update Service Operator 를 선택합니다.
- 메뉴에서 Create Instance 를 선택합니다.
OpenShift Update Service 인스턴스에서 콘텐츠를 붙여넣습니다. YAML 인스턴스는 다음 매니페스트와 유사할 수 있습니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 만들기 를 선택하여 인스턴스를 만듭니다.
-
hub 클러스터 CLI에서
oc get pods
명령을 입력하여 인스턴스 생성 상태를 확인합니다.
이 작업을 수행하는 데 몇 분 정도 걸릴 수 있습니다. 명령 결과에 인스턴스 및 Operator가 실행 중임을 표시되면 프로세스가 완료됩니다.
1.5.4.7. 선택 사항: 기본 레지스트리를 덮어쓰도록 정책 배포 링크 복사링크가 클립보드에 복사되었습니다!
다음 단계는 릴리스를 미러링된 레지스트리에 미러링한 경우에만 적용됩니다.
더 이상 사용되지 않음: PlacementRule
OpenShift Container Platform에는 업그레이드 패키지를 찾는 위치를 지정하는 기본 이미지 레지스트리 값이 있습니다. 연결이 끊긴 환경에서는 해당 값을 릴리스 이미지를 미러링한 로컬 이미지 레지스트리의 경로로 교체하는 정책을 생성할 수 있습니다.
정책을 생성하려면 다음 단계를 완료합니다.
- hub 클러스터의 OpenShift Container Platform 환경에 로그인합니다.
- 콘솔에서 Governance > Create policy 를 선택합니다.
- YAML 스위치를 On 으로 설정하여 정책의 YAML 버전을 확인합니다.
- YAML 코드의 모든 콘텐츠를 삭제합니다.
다음 YAML 콘텐츠를 창에 붙여넣어 사용자 정의 정책을 생성합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 지원되는 경우 Enforce 를 선택합니다.
- 만들기 를 선택하여 정책을 생성합니다.
1.5.4.8. 연결이 끊긴 카탈로그 소스 배포 링크 복사링크가 클립보드에 복사되었습니다!
Catalogsource 정책을 관리 클러스터로 내보내 연결된 위치에서 연결이 끊긴 로컬 레지스트리로 기본 위치를 변경할 수 있습니다.
기본 위치를 변경하려면 다음 단계를 완료합니다.
- 콘솔 메뉴에서 Governance > Create policy 를 선택합니다.
-
YAML
스위치를 On 으로 설정하여 정책의 YAML 버전을 확인합니다. -
YAML
코드의 모든 콘텐츠를 삭제합니다. 다음
YAML
콘텐츠를 창에 붙여넣어 사용자 정의 정책을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 지원되는 경우 Enforce 를 선택합니다.
- 만들기 를 선택하여 정책을 생성합니다.
1.5.4.9. 관리 클러스터 매개변수를 변경하는 정책 배포 링크 복사링크가 클립보드에 복사되었습니다!
ClusterVersion 정책을 관리 클러스터로 푸시하여 업그레이드를 검색하는 기본 위치를 변경할 수 있습니다.
다음 단계를 완료합니다.
관리형 클러스터에서 다음 명령을 실행하여 ClusterVersion 업스트림 매개변수가 현재 기본 공용 OpenShift Update Service 피연산자인지 확인합니다.
oc get clusterversion -o yaml
oc get clusterversion -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 허브 클러스터에서 다음 명령을 실행하여 OpenShift Update Service 피연산자의 경로 URL을 식별합니다.
oc get routes
oc get routes
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 나중에 결과를 확인합니다.
- 허브 클러스터 콘솔 메뉴에서 Governance > Create a policy 를 선택합니다.
-
YAML
스위치를 On 으로 설정하여 정책의 YAML 버전을 확인합니다. -
YAML
코드의 모든 콘텐츠를 삭제합니다. 다음
YAML
콘텐츠를 창에 붙여넣어 사용자 정의 정책을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- hub 클러스터 OpenShift Update Service 피연산자의 경로로 바꿉니다. 지정하지 않는 경우 모든 클러스터를 선택합니다.
다음 단계를 완료하여 피연산자의 경로를 확인할 수 있습니다.
-
hub 클러스터에서
oc get get routes -A
명령을 실행합니다. update-service
경로를 찾습니다.피연산자의 경로는
HOST/PORT
필드의 값입니다.
- 지원되는 경우 Enforce 를 선택합니다.
- 만들기 를 선택하여 정책을 생성합니다.
관리 클러스터 CLI에서 다음 명령을 실행하여
ClusterVersion
의 upstream 매개변수가 로컬 허브 클러스터 OpenShift Update Service URL로 업데이트되었는지 확인합니다.oc get clusterversion -o yaml
oc get clusterversion -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 결과가 다음 콘텐츠와 유사한지 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.5.4.10. 사용 가능한 업그레이드 보기 링크 복사링크가 클립보드에 복사되었습니다!
다음 단계를 완료하여 관리 클러스터에 사용 가능한 업그레이드 목록을 볼 수 있습니다.
- 콘솔에서 Infrastructure > Clusters 를 선택합니다.
- Ready 상태에 있는 클러스터를 선택합니다.
- 작업 메뉴에서 클러스터 업그레이드 를 선택합니다.
- 선택적 업그레이드 경로를 사용할 수 있는지 확인합니다.
참고: 현재 버전이 로컬 이미지 저장소에 미러링되지 않은 경우 사용 가능한 업그레이드 버전이 표시되지 않습니다.
1.5.4.11. 채널 선택 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat Advanced Cluster Management 콘솔을 사용하여 OpenShift Container Platform에서 클러스터 업그레이드 채널을 선택할 수 있습니다. 이러한 버전은 미러 레지스트리에서 사용할 수 있어야 합니다.
채널 선택 단계를 완료하여 업그레이드 채널을 지정합니다.
1.5.4.12. 클러스터 업그레이드 링크 복사링크가 클립보드에 복사되었습니다!
연결이 끊긴 레지스트리를 구성한 후 Red Hat Advanced Cluster Management 및 OpenShift Update Service는 연결이 끊긴 레지스트리를 사용하여 업그레이드를 사용할 수 있는지 확인합니다.
사용 가능한 업그레이드가 표시되지 않는 경우 클러스터의 현재 수준의 릴리스 이미지와 로컬 저장소에 미러링된 하나 이상의 이후 수준이 있는지 확인합니다.
현재 클러스터 버전의 릴리스 이미지를 사용할 수 없는 경우 업그레이드를 사용할 수 없습니다.
업그레이드하려면 다음 단계를 완료합니다.
- 콘솔에서 Infrastructure > Clusters 를 선택합니다.
- 사용 가능한 업그레이드가 있는지 선택할 클러스터를 찾습니다.
- 업그레이드를 사용할 수 있는 경우 클러스터 의 배포 버전 열에 사용 가능한 업그레이드가 표시됩니다.
- 클러스터의 옵션 메뉴를 선택하고 클러스터 업그레이드 를 선택합니다.
- 업그레이드 대상 버전을 선택하고 업그레이드를 선택합니다.
클러스터 업그레이드에 실패하면 Operator는 일반적으로 업그레이드를 몇 번 재시도하고 중지한 후 실패한 구성 요소의 상태를 보고합니다. 경우에 따라 업그레이드 프로세스가 프로세스를 완료하려는 시도를 계속 순환합니다. 업그레이드 실패 후 클러스터를 이전 버전으로 롤백하는 것은 지원되지 않습니다. 클러스터 업그레이드에 실패하는 경우 Red Hat 지원에 문의하십시오.
1.5.4.12.1. 추가 리소스 링크 복사링크가 클립보드에 복사되었습니다!
외부 레지스트리 CA 인증서에 대한 자세한 내용은 OpenShift Container Platform 설명서의 이미지 레지스트리 액세스에 대한 추가 신뢰 저장소 구성 을 참조하십시오.
1.5.5. 고급 구성 링크 복사링크가 클립보드에 복사되었습니다!
다중 클러스터 엔진 Operator는 필요한 모든 구성 요소를 배포하는 Operator를 사용하여 설치됩니다. 멀티 클러스터 엔진 Operator는 설치 중 또는 설치 후 추가로 구성할 수 있습니다. 고급 구성 옵션에 대해 자세히 알아보십시오.
1.5.5.1. 배포된 구성 요소 링크 복사링크가 클립보드에 복사되었습니다!
MultiClusterEngine
사용자 정의 리소스에 다음 속성 중 하나 이상을 추가합니다.
이름 | 설명 | 활성화됨 |
assisted-service | 최소한의 인프라 사전 요구 사항 및 포괄적인 사전 요구 사항으로 OpenShift Container Platform 설치 | True |
cluster-api | 관리형 클러스터 내에서 클러스터 API 라이프사이클을 처리하는 기능 제공 | False |
cluster-api-provider-aws | AWS의 클러스터 생성, 구성 및 관리를 위한 Kubernetes 스타일 API 제공 | False |
cluster-api-provider-openshift-assisted-preview | 지원 설치 관리자를 사용하여 클러스터 생성, 구성 및 관리를 위한 Kubernetes 스타일 API 제공 | False |
cluster-api-provider-metal3-preview | 베어 메탈 인프라에서 클러스터 생성, 구성 및 관리를 위한 Kubernetes 스타일 API 제공 | False |
cluster-lifecycle | OpenShift Container Platform 및 Kubernetes 허브 클러스터를 위한 클러스터 관리 기능 제공 | True |
cluster-manager | 클러스터 환경 내에서 다양한 클러스터 관련 작업 관리 | True |
cluster-proxy-addon |
역방향 프록시 서버를 사용하여 허브 및 관리 클러스터에 | True |
console-mce | 다중 클러스터 엔진 Operator 콘솔 플러그인 활성화 | True |
discovery | OpenShift Cluster Manager 내에서 새 클러스터를 검색하고 식별합니다. | True |
Hive | OpenShift Container Platform 클러스터의 초기 구성 프로비저닝 및 수행 | True |
Hypershift | 비용 및 시간 효율성과 클라우드 간 이식성으로 규모에 맞게 OpenShift Container Platform 컨트롤 플레인 호스트 | True |
hypershift-local-hosting | 로컬 클러스터 환경 내의 로컬 호스팅 기능 활성화 | True |
image-based-install-operator | 설치를 완료하기 위해 단일 노드 OpenShift 클러스터에 사이트 구성 제공 | False |
local-cluster | 다중 클러스터 엔진 Operator가 배포된 로컬 허브 클러스터의 가져오기 및 자체 관리를 활성화합니다. | True |
managedserviceacccount | 서비스 계정을 관리 클러스터에 동기화하고, 토큰을 시크릿 리소스로 수집하여 허브 클러스터로 다시 제공 | True |
server-foundation | 다중 클러스터 환경 내에서 서버 측 작업에 대한 기본 서비스 제공 | True |
다중 클러스터 엔진 Operator를 클러스터에 설치할 때 나열된 모든 구성 요소가 기본적으로 활성화되어 있는 것은 아닙니다.
MultiClusterEngine
사용자 정의 리소스에 하나 이상의 속성을 추가하여 설치 중 또는 설치 후 다중 클러스터 엔진 Operator를 추가로 구성할 수 있습니다. 추가할 수 있는 속성에 대한 정보를 계속 읽습니다.
1.5.5.2. 콘솔 및 구성 요소 구성 링크 복사링크가 클립보드에 복사되었습니다!
다음 예제는 구성 요소를 활성화하거나 비활성화하는 데 사용할 수 있는 spec.overrides
기본 템플릿을 표시합니다.
-
name
을 구성 요소의 이름으로 바꿉니다.
또는 다음 명령을 실행할 수 있습니다. namespace
를 프로젝트 및 name
의 이름으로 구성 요소 이름으로 교체합니다.
oc patch MultiClusterEngine <multiclusterengine-name> --type=json -p='[{"op": "add", "path": "/spec/overrides/components/-","value":{"name":"<name>","enabled":true}}]'
oc patch MultiClusterEngine <multiclusterengine-name> --type=json -p='[{"op": "add", "path": "/spec/overrides/components/-","value":{"name":"<name>","enabled":true}}]'
1.5.5.3. local-cluster 활성화 링크 복사링크가 클립보드에 복사되었습니다!
기본적으로 다중 클러스터 엔진 Operator를 실행 중인 클러스터는 로컬 클러스터 이며, 이는 자체적으로 관리하고 클러스터 목록에서 local-cluster
로 지정된 허브 클러스터입니다.
MultiClusterEngine
리소스의 로컬 클러스터 이름은 spec.localClusterName
값에서 설정됩니다. enabled
설정은 기능이 활성화되어 있는지 여부를 지정합니다.
enabled: true
설정은 클러스터를 local-cluster
로 지정하고 enabled: false
설정은 지정하지 않습니다. enabled: true
값을 사용하여 local-cluster
가 활성화된 다음 샘플을 참조하십시오.
enabled
필드가 false
로 설정된 경우 local-cluster
이름을 변경할 수 있습니다. < your-local-cluster-name&
gt; 값에 34자 이하의 문자를 사용해야 합니다. local-cluster
는 enabled: true
로 설정된 경우 이름을 변경할 수 없습니다.
로컬
클러스터로 지정하지 않고 다중 클러스터 엔진 Operator를 설치하려면 spec.overrides.components
설정을 enabled: false
로 변경합니다. 다음 YAML 샘플을 참조하십시오.
1.5.5.4. 사용자 정의 이미지 풀 시크릿 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift Container Platform 또는 다중 클러스터 엔진 Operator에서 생성하지 않은 Kubernetes 클러스터를 가져오려면 배포 레지스트리에서 권한이 있는 콘텐츠에 액세스하기 위해 OpenShift Container Platform pull secret 정보가 포함된 시크릿을 생성합니다.
OpenShift Container Platform 클러스터의 시크릿 요구 사항은 Kubernetes Operator의 OpenShift Container Platform 및 다중 클러스터 엔진에서 자동으로 해결되므로 관리할 다른 유형의 Kubernetes 클러스터를 가져오지 않는 경우 시크릿을 생성할 필요가 없습니다.
중요: 이러한 시크릿은 네임스페이스에 고유하므로 엔진에 사용하는 네임스페이스에 있는지 확인합니다.
- 풀 시크릿 다운로드를 선택하여 cloud.redhat.com/openshift/install/pull-secret 에서 OpenShift Container Platform 풀 시크릿 파일을 다운로드합니다. OpenShift Container Platform 풀 시크릿은 Red Hat Customer Portal ID와 연결되며 모든 Kubernetes 공급자에서 동일합니다.
다음 명령을 실행하여 보안을 생성합니다.
oc create secret generic <secret> -n <namespace> --from-file=.dockerconfigjson=<path-to-pull-secret> --type=kubernetes.io/dockerconfigjson
oc create secret generic <secret> -n <namespace> --from-file=.dockerconfigjson=<path-to-pull-secret> --type=kubernetes.io/dockerconfigjson
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
secret
을 생성하려는 시크릿 이름으로 교체합니다. -
시크릿은
네임스페이스에
따라 네임스페이스를 사용하므로 네임스페이스를 프로젝트 네임스페이스로 교체합니다. -
다운로드한 OpenShift Container Platform 풀 시크릿의 경로로
path-to-pull-secret
을 교체합니다.
-
다음 예제는 사용자 정의 풀 시크릿을 사용하려는 경우 사용할 spec.imagePullSecret
템플릿을 표시합니다. secret
을 풀 시크릿 이름으로 교체합니다.
1.5.5.5. 대상 네임스페이스 링크 복사링크가 클립보드에 복사되었습니다!
피연산자는 MultiClusterEngine
사용자 정의 리소스에 위치를 지정하여 지정된 네임스페이스에 설치할 수 있습니다. 이 네임스페이스는 MultiClusterEngine
사용자 정의 리소스의 애플리케이션 시 생성됩니다.
중요: 대상 네임스페이스를 지정하지 않으면 Operator는 multicluster-engine
네임스페이스에 설치하고 MultiClusterEngine
사용자 정의 리소스 사양에 설정합니다.
다음 예제는 대상 네임스페이스를 지정하는 데 사용할 수 있는 spec.targetNamespace
템플릿을 표시합니다. target
을 대상 네임스페이스의 이름으로 교체합니다. 참고: 대상
네임스페이스는 기본
네임스페이스가 될 수 없습니다.
1.5.5.6. availabilityConfig 링크 복사링크가 클립보드에 복사되었습니다!
hub 클러스터에는 High
및 Basic
이라는 두 가지 가능성이 있습니다. 기본적으로 허브 클러스터의 가용성은 High
이며 hub 클러스터 구성 요소에 2
의 replicaCount
를 제공합니다. 이는 장애 조치의 경우 더 나은 지원을 제공하지만 기본
가용성보다 많은 리소스를 사용하므로 구성 요소에 1
의 replicaCount
가 제공됩니다.
중요: 단일 노드 OpenShift 클러스터에서 다중 클러스터 엔진 Operator를 사용하는 경우 spec.availabilityConfig
를 Basic
으로 설정합니다.
다음 예제에서는 기본
가용성이 있는 spec.availabilityConfig
템플릿을 보여줍니다.
1.5.5.7. nodeSelector 링크 복사링크가 클립보드에 복사되었습니다!
클러스터의 특정 노드에 설치할 MultiClusterEngine
에서 노드 선택기 세트를 정의할 수 있습니다. 다음 예제에서는 node-role.kubernetes.io/infra
: 레이블이 있는 노드에 Pod를 할당하는 spec.nodeSelector
를 보여줍니다.
spec: nodeSelector: node-role.kubernetes.io/infra: ""
spec:
nodeSelector:
node-role.kubernetes.io/infra: ""
Red Hat Advanced Cluster Management for Kubernetes Hub 클러스터에 대한 노드 선택기 세트를 정의하려면 Red Hat Advanced Cluster Management 설명서의 nodeSelector 를 참조하십시오.
1.5.5.8. 허용 오차 링크 복사링크가 클립보드에 복사되었습니다!
허용 오차 목록을 정의하여 MultiClusterEngine
이 클러스터에 정의된 특정 테인트를 허용할 수 있습니다. 다음 예제는 node-role.kubernetes.io/infra
테인트와 일치하는 spec.tolerations
를 보여줍니다.
spec: tolerations: - key: node-role.kubernetes.io/infra effect: NoSchedule operator: Exists
spec:
tolerations:
- key: node-role.kubernetes.io/infra
effect: NoSchedule
operator: Exists
이전 infra-node 허용 오차는 구성에 허용 오차를 지정하지 않고 기본적으로 Pod에 설정됩니다. 구성에서 허용 오차를 사용자 정의하면 이 기본 동작이 대체됩니다.
Red Hat Advanced Cluster Management for Kubernetes Hub 클러스터의 허용 오차 목록을 정의하려면 Red Hat Advanced Cluster Management 설명서의 허용 오차 를 참조하십시오.
1.5.5.9. ManagedServiceAccount 애드온 링크 복사링크가 클립보드에 복사되었습니다!
ManagedServiceAccount
애드온을 사용하면 관리 클러스터에서 서비스 계정을 생성하거나 삭제할 수 있습니다. 이 애드온을 사용하여 설치하려면 spec.overrides
의 MultiClusterEngine
사양에 다음을 포함합니다.
명령줄에서 리소스를 편집하고 managedserviceaccount
구성 요소를 enabled: true
로 설정하여 ManagedServiceAccount
애드온을 MultiClusterEngine
을 생성한 후 활성화할 수 있습니다. 또는 다음 명령을 실행하고 <multiclusterengine-name>을 MultiClusterEngine
리소스의 이름으로 교체할 수 있습니다.
oc patch MultiClusterEngine <multiclusterengine-name> --type=json -p='[{"op": "add", "path": "/spec/overrides/components/-","value":{"name":"managedserviceaccount","enabled":true}}]'
oc patch MultiClusterEngine <multiclusterengine-name> --type=json -p='[{"op": "add", "path": "/spec/overrides/components/-","value":{"name":"managedserviceaccount","enabled":true}}]'
1.5.6. 설치 제거 링크 복사링크가 클립보드에 복사되었습니다!
Kubernetes Operator에 대한 다중 클러스터 엔진을 설치 제거할 때 프로세스의 두 가지 수준인 사용자 정의 리소스 제거 및 전체 Operator 설치 제거가 표시됩니다. 제거 프로세스를 완료하는 데 최대 5분이 걸릴 수 있습니다.
-
사용자 정의 리소스 제거는
MultiClusterEngine
인스턴스의 사용자 정의 리소스를 제거하지만 다른 필요한 Operator 리소스를 제거하는 가장 기본적인 유형의 설치 제거입니다. 이 설치 제거 수준은 동일한 설정 및 구성 요소를 사용하여 다시 설치하려는 경우 유용합니다. - 두 번째 수준은 사용자 정의 리소스 정의와 같은 구성 요소를 제외하고 대부분의 Operator 구성 요소를 제거하는 더 완전한 제거 사항입니다. 이 단계를 계속할 때 사용자 정의 리소스 제거와 함께 제거되지 않은 모든 구성 요소 및 서브스크립션을 제거합니다. 이 제거 후 사용자 정의 리소스를 다시 설치하기 전에 Operator를 다시 설치해야 합니다.
1.5.6.1. 사전 요구 사항: 사용 가능한 서비스 분리 링크 복사링크가 클립보드에 복사되었습니다!
Kubernetes Operator용 다중 클러스터 엔진을 제거하기 전에 해당 엔진에서 관리하는 모든 클러스터를 분리해야 합니다. 오류를 방지하려면 엔진에서 계속 관리하는 모든 클러스터를 분리한 다음 다시 제거하십시오.
관리 클러스터가 연결되어 있는 경우 다음 메시지가 표시될 수 있습니다.
Cannot delete MultiClusterEngine resource because ManagedCluster resource(s) exist
Cannot delete MultiClusterEngine resource because ManagedCluster resource(s) exist
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 클러스터 분리에 대한 자세한 내용은 클러스터 생성에서 공급자의 정보를 선택하여 관리에서 클러스터 제거 섹션을 참조하십시오.
1.5.6.2. 명령을 사용하여 리소스 제거 링크 복사링크가 클립보드에 복사되었습니다!
-
아직 설치되지 않은 경우 OpenShift Container Platform CLI가
oc
명령을 실행하도록 구성되어 있는지 확인합니다.oc
명령 구성에 대한 자세한 내용은 OpenShift Container Platform 설명서에서 OpenShift CLI 시작하기 를 참조하십시오. 다음 명령을 입력하여 프로젝트 네임스페이스로 변경합니다. namespace 를 프로젝트 네임스페이스의 이름으로 교체합니다.
oc project <namespace>
oc project <namespace>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 입력하여
MultiClusterEngine
사용자 정의 리소스를 제거합니다.oc delete multiclusterengine --all
oc delete multiclusterengine --all
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 입력하여 진행 상황을 볼 수 있습니다.
oc get multiclusterengine -o yaml
oc get multiclusterengine -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
다음 명령을 입력하여 설치된 네임스페이스에서 multicluster-engine
ClusterServiceVersion
을 삭제하고v2.x.0
변수를 대체하는 버전을 입력합니다.
여기에 표시된 CSV 버전은 다를 수 있습니다.
1.5.6.3. 콘솔을 사용하여 구성 요소 삭제 링크 복사링크가 클립보드에 복사되었습니다!
RedHat OpenShift Container Platform 콘솔을 사용하여 설치 제거할 때 Operator를 제거합니다. 콘솔을 사용하여 설치 제거하려면 다음 단계를 완료합니다.
- OpenShift Container Platform 콘솔 탐색에서 Operator > 설치된 Operator > Kubernetes용 멀티 클러스터 엔진을 선택합니다.
MultiClusterEngine
사용자 정의 리소스를 제거합니다.- Multiclusterengine 의 탭을 선택합니다.
- MultiClusterEngine 사용자 정의 리소스의 옵션 메뉴를 선택합니다.
- MultiClusterEngine 삭제를 선택합니다.
다음 섹션의 절차에 따라 정리 스크립트를 실행합니다.
팁: Kubernetes Operator 버전에 대해 동일한 다중 클러스터 엔진을 다시 설치하려는 경우 이 절차의 나머지 단계를 건너뛰고 사용자 정의 리소스를 다시 설치할 수 있습니다.
- 설치된 Operator로 이동합니다.
- 옵션 메뉴를 선택하고 Uninstall operator 를 선택하여 Kubernetes_ operator의 _ 다중 클러스터 엔진을 제거합니다.
1.5.6.4. 문제 해결 설치 제거 링크 복사링크가 클립보드에 복사되었습니다!
다중 클러스터 엔진 사용자 정의 리소스가 제거되지 않는 경우 정리 스크립트를 실행하여 나머지 아티팩트를 제거합니다.
다음 스크립트를 파일에 복사합니다.
#!/bin/bash oc delete apiservice v1.admission.cluster.open-cluster-management.io v1.admission.work.open-cluster-management.io oc delete validatingwebhookconfiguration multiclusterengines.multicluster.openshift.io oc delete mce --all
#!/bin/bash oc delete apiservice v1.admission.cluster.open-cluster-management.io v1.admission.work.open-cluster-management.io oc delete validatingwebhookconfiguration multiclusterengines.multicluster.openshift.io oc delete mce --all
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
자세한 내용은 연결이 끊긴 환경에서 미러링 을 참조하십시오.