17장. 네트워크 엣지의 클러스터

17.1. 네트워크 엣지의 문제

엣지 컴퓨팅은 지리적으로 교체된 위치에서 많은 사이트를 관리할 때 복잡한 문제를 초래합니다. zero touch provisioning (ZTP) 및 GitOps를 사용하여 네트워크의 맨 에지에서 사이트를 프로비저닝하고 관리합니다.

17.1.1. 네트워크 엣지의 문제 해결

현재 서비스 제공업체는 네트워크 엣지에 인프라를 배포하려고 합니다. 여기에는 중요한 문제가 있습니다.

  • 여러 엣지 사이트의 배포를 병렬로 처리하려면 어떻게 해야 합니까?
  • 연결이 끊긴 환경에서 사이트를 배포해야 하는 경우 어떻게 됩니까?
  • 대규모 클러스터의 라이프사이클을 어떻게 관리합니까?

zero touch provisioning (ZTP) 및 GitOps 는 베어 메탈 장치에 대한 선언적 사이트 정의 및 구성으로 규모에 따라 원격 에지 사이트를 프로비저닝할 수 있으므로 이러한 문제를 해결합니다. 템플릿 또는 오버레이 구성은 CNF 워크로드에 필요한 OpenShift Container Platform 기능을 설치합니다. 설치 및 업그레이드의 전체 라이프사이클은 ZTP 파이프라인을 통해 처리됩니다.

ZTP는 인프라 배포에 GitOps를 사용합니다. GitOps에서는 Git 리포지토리에 저장된 선언적 YAML 파일 및 기타 정의된 패턴을 사용합니다. RHACM(Red Hat Advanced Cluster Management)은 Git 리포지토리를 사용하여 인프라 배포를 구동합니다.

GitOps는 추적 기능, RBAC(역할 기반 액세스 제어) 및 각 사이트의 원하는 상태에 대해 단일 정보 소스를 제공합니다. 확장성 문제는 웹 후크를 통해 Git 수행 및 이벤트 기반 작업에 의해 해결됩니다.

ZTP 파이프라인이 에지 노드에 제공하는 선언적 사이트 정의 및 구성 CR(사용자 정의 리소스)을 생성하여 ZTP 워크플로를 시작합니다.

다음 다이어그램은 멀리 있는 에지 프레임워크에서 ZTP가 작동하는 방식을 보여줍니다.

네트워크에서의 ZTP

17.1.2. ZTP를 사용하여 네트워크 에지에서 클러스터 프로비저닝

RHACM(Red Hat Advanced Cluster Management)은 단일 허브 클러스터가 많은 스포크 클러스터를 관리하는 허브 및 스포크 아키텍처의 클러스터를 관리합니다. RHACM 프로비저닝을 실행하는 Hub 클러스터와 RHACM을 설치할 때 배포된 지원 서비스를 사용하여 관리 클러스터를 배포합니다.

지원 서비스는 단일 노드 클러스터, 3 노드 클러스터 또는 베어 메탈에서 실행되는 표준 클러스터에서 OpenShift Container Platform 프로비저닝을 처리합니다.

OpenShift Container Platform에서 베어 메탈 호스트를 프로비저닝하고 유지하기 위해 ZTP를 사용하는 고급 개요는 다음과 같습니다.

  • RHACM을 실행하는 허브 클러스터는 OpenShift Container Platform 릴리스 이미지를 미러링하는 OpenShift 이미지 레지스트리를 관리합니다. RHACM은 OpenShift 이미지 레지스트리를 사용하여 관리 클러스터를 프로비저닝합니다.
  • Git 리포지토리에 버전이 지정된 YAML 형식 인벤토리 파일에서 베어 메탈 호스트를 관리합니다.
  • 호스트를 관리형 클러스터로 프로비저닝할 준비가 되어 있고 RHACM 및 지원 서비스를 사용하여 사이트에 베어 메탈 호스트를 설치할 수 있습니다.

클러스터 설치 및 배포는 초기 설치 단계 및 후속 구성 단계를 포함하는 2단계 프로세스입니다. 다음 다이어그램은 이 워크플로를 보여줍니다.

GitOps 및 ZTP를 사용하여 관리형 클러스터 설치 및 배포

17.1.3. siteConfig 리소스 및 RHACM을 사용하여 관리형 클러스터 설치

GitOps ZTP는 Git 리포지토리에서 siteConfig CR(사용자 정의 리소스)을 사용하여 OpenShift Container Platform 클러스터를 설치하는 프로세스를 관리합니다. site Config CR에는 설치에 필요한 클러스터별 매개변수가 포함되어 있습니다. 사용자 정의 추가 매니페스트를 포함하여 설치 중에 선택한 구성 CR을 적용하는 옵션이 있습니다.

ZTP GitOps 플러그인 은 siteConfig CR을 처리하여 hub 클러스터에서 CR 컬렉션을 생성합니다. 이로 인해 RHACM(Red Hat Advanced Cluster Management)의 지원 서비스가 트리거되어 베어 메탈 호스트에 OpenShift Container Platform을 설치합니다. hub 클러스터의 이러한 CR에서 설치 상태 및 오류 메시지를 확인할 수 있습니다.

ZTP를 사용하여 수동으로 또는 배치로 단일 클러스터를 프로비저닝할 수 있습니다.

단일 클러스터 프로비저닝
클러스터에 대한 단일 SiteConfig CR 및 관련 설치 및 구성 CR을 생성하고 이를 hub 클러스터에 적용하여 클러스터 프로비저닝을 시작합니다. 이는 대규모에 배포하기 전에 CR을 테스트하는 좋은 방법입니다.
여러 클러스터 프로비저닝
Git 리포지토리에서 site Config 및 관련 CR을 정의 하여 최대 400개로 관리되는 클러스터를 설치합니다. ArgoCD는 site Config CR을 사용하여 사이트를 배포합니다. RHACM 정책 생성기는 매니페스트를 생성하여 hub 클러스터에 적용합니다. 이렇게 하면 클러스터 프로비저닝 프로세스가 시작됩니다.

17.1.4. 정책 및 PolicyGenTemplate 리소스를 사용하여 관리형 클러스터 구성

zero touch provisioning (ZTP)은 Red Hat Advanced Cluster Management (RHACM)를 사용하여 구성 적용에 정책 기반 거버넌스 접근 방식을 사용하여 클러스터를 구성합니다.

정책 생성기 또는 PolicyGen 은 간결한 템플릿에서 RHACM 정책을 생성할 수 있는 GitOps Operator의 플러그인입니다. 이 툴은 여러 CR을 단일 정책으로 결합할 수 있으며, 함대에 있는 클러스터의 다양한 하위 집합에 적용되는 여러 정책을 생성할 수 있습니다.

참고

확장성 및 클러스터 전체에서 구성 관리의 복잡성을 줄이기 위해 가능한 한 공통성으로 구성 CR을 사용하십시오.

  • 가능한 경우 전체 공통 정책을 사용하여 구성 CR을 적용합니다.
  • 다음 기본 설정은 그룹 정책에서 가능한 한 많은 나머지 구성을 관리할 클러스터의 논리 그룹을 생성하는 것입니다.
  • 구성이 개별 사이트에 고유한 경우 hub 클러스터에서 RHACM 템플릿 정보를 사용하여 사이트별 데이터를 공통 또는 그룹 정책에 삽입합니다. 또는 사이트에 개별 사이트 정책을 적용합니다.

다음 다이어그램에서는 클러스터 배포의 구성 단계에서 정책 생성기가 GitOps 및 RHACM과 상호 작용하는 방법을 보여줍니다.

정책 생성기

대규모 클러스터의 경우 일반적으로 클러스터 구성에 높은 수준의 일관성이 있어야 합니다.

다음 권장 정책 구조는 구성 CR을 결합하여 몇 가지 목표를 달성합니다.

  • 공통 구성을 한 번 설명하고 함대에 적용합니다.
  • 유지 관리 및 관리되는 정책의 수를 최소화합니다.
  • 클러스터 변형을 위한 공통 구성의 유연성을 지원합니다.

표 17.1. 권장 PolicyGenTemplate 정책 카테고리

정책 카테고리설명

common

공통 카테고리에 존재하는 정책은 함의 모든 클러스터에 적용됩니다. Common PolicyGenTemplate CR을 사용하여 모든 클러스터 유형에 공통 설치 설정을 적용합니다.

그룹

그룹 카테고리에 존재하는 정책이 함의 클러스터 그룹에 적용됩니다. 그룹 PolicyGenTemplate CR을 사용하여 단일 노드, 3 노드 및 표준 클러스터 설치의 특정 측면을 관리합니다. 클러스터 그룹은 지리적 리전, 하드웨어 변형 등을 따를 수도 있습니다.

사이트

sites 카테고리에 존재하는 정책은 특정 클러스터 사이트에 적용됩니다. 모든 클러스터는 자체 특정 정책을 유지할 수 있습니다.

추가 리소스

  • ztp-site-generate 컨테이너 이미지에서 site ConfigPolicyGenTemplate CR을 추출하는 방법에 대한 자세한 내용은 ZTP Git 리포지토리 준비를 참조하십시오.