최근에 블로그 Provisioning OpenShift clusters using GitOps with ACM을 게시하여 ArgoCD와 GitOps를 사용하여 RHACM으로 OpenShift 클러스터를 생성하는 방법을 설명했습니다. OpenShift 설치 유형은 IPI이며 Azure, AWS, GCP, vSphere 등 대부분의 플랫폼에 유효하지만 베어 메탈에는 유효하지 않습니다. OpenShift 클러스터를 베어 메탈에 설치하고 연결을 끊은 적이 있다면 다른 설치와 얼마나 다른지 알 것입니다.
이 블로그에서는 ArgoCD와 함께 RHACM 및 GitOps를 사용하여 Assisted Installer로 베어메탈 OpenShift 클러스터를 배포하는 방법을 설명합니다. RHACM과 GitOps를 사용하여 OpenShift 클러스터를 배포하는 데 익숙하지 않은 경우 제가 작성한 문서를 읽어보시기 바랍니다. 또한 이 솔루션을 처음 배포할 때 사용한 블로그 Managing OCP Infrastructures Using GitOps를 읽는 것이 좋습니다.
솔루션 개요
ACM과 함께 GitOps를 사용하여 OpenShift 클러스터 프로비저닝에서와 동일한 방식으로 OpenShift GitOps 및 RHACM을 사용하겠습니다. 저는 쿠버네티스 오브젝트를 Git 리포지토리에 업로드하고, ArgoCD는 이러한 오브젝트를 OpenShift 클러스터에 동기화하고, RHACM은 베어 메탈 오퍼레이터, Ironic 및 Assisted Installer를 활용하여 클러스터를 배포합니다.

물리 호스트와 해당 속성을 정의하는 Metal³ CRD (사용자 지정 리소스 정의)인 BMH (BareMetalHosts)를 생성합니다. BMH는 Redfish 프로토콜을 사용하여 베이스보드 관리 컨트롤러(BMC) 물리 노드에 연결합니다. 노드의 네트워크는 NMstateConfig를 사용하여 정적으로 구성됩니다. OpenShift 클러스터는 생성된 BareMetalHosts를 사용하여 Assisted Installer와 함께 배포됩니다.
모든 오브젝트 생성을 시작하지 마십시오. 많은 리소스가 관련되므로 한 번에 하나씩 리소스를 생성하고 상태를 확인하는 것이 좋습니다. 인프라 환경을 생성하기 전에 RHACM 설명서에서 사전 요구 사항을 확인하여 시작하고, 멀티클러스터 엔진과 함께 제공되는 중앙 인프라 관리 서비스를 활성화합니다.
사전 요구 사항을 충족하면 RHACM 콘솔로 이동합니다. 인프라 환경에서 Redfish를 사용하여 베어 메탈 호스트를 생성하고 호스트의 BMC에 연결합니다. 그런 다음 콘솔을 사용하여 ACM에서 클러스터 생성에 따라 베어 메탈 호스트(검색된 기존 호스트)를 사용하여 클러스터를 배포합니다. 배포에서 생성된 오브젝트를 확인하고 명령줄로 이동한 다음 다른 매개 변수를 사용하여 동일한 오브젝트를 생성하는 다른 클러스터를 배포합니다. 명령줄을 사용하여 ACM에서 클러스터 생성합니다. 그런 다음 YAML 파일을 Git 리포지토리에 업로드하고 ArgoCD 애플리케이션을 생성하여 오브젝트를 동기화합니다.
마지막 단계는 ACM과 함께 GitOps를 사용하여 OpenShift 클러스터 프로비저닝에 표시된 대로 모든 오브젝트를 템플릿으로 사용하고 ApplicationSet를 사용하여 Helm 차트를 생성하여 클러스터당 애플리케이션을 생성하는 것입니다.
RHACM의 Baremetal Operator, Ironic 및 Assisted Installer
- 베어 메탈 오퍼레이터는 하드웨어 기능 검사, 운영 체제 설치, 베어 메탈 시스템을 원래 상태로 복원할 때의 재초기화 등 베어 메탈 호스트를 프로비저닝하는 데 필요한 모든 작업을 위해 Ironic API와 상호 작용하는 주요 구성 요소입니다.
- Ironic은 베어 메탈 시스템의 프로비저닝 및 라이프사이클 관리를 자동화하는 서비스입니다.
- OpenShift Assisted Installer를 사용하면 새로운 베어 메탈 시스템을 손쉽게 프로비저닝하고 OpenShift 클러스터를 생성할 수 있습니다. Assisted Installer는 모든 호스트가 요구 사항을 충족하는지 확인하고 OpenShift Container Platform 클러스터 배포를 트리거합니다. 모든 노드(BMH)에는 디스크에 기록된 RHCOS (Red Hat Enterprise Linux CoreOS) 이미지가 있습니다.
- 지원 이미지 서비스는 지원 설치 프로그램 서비스에 대한 RHCOS 이미지를 사용자 지정하고 제공합니다. 구성에 따라 시작 시 RHCOS 이미지 세트를 다운로드합니다.
지원되는 설치 프로그램 프로비저닝 워크플로우:

오브젝트
RHACM 도큐멘테이션 챕터의 명령줄을 사용하여 클러스터 생성에서 지원 설치 프로그램을 사용하여 클러스터를 배포하는 데 필요한 모든 오브젝트를 가져올 수 있습니다.
- Namespace
- ClusterImageSet
- ClusterDeployment
- AgentClusterInstall
- NMStateConfig
- BaremetalHost
- InfraEnv
- KlusterletAddonConfig
- ManagedCluster

유용한 팁
- 위에서 언급한 대로 사전 요구 사항, 특히 대역 외 관리 호스트 IP 주소와 RHACM 간의 연결을 확인합니다. virtualmedia의 경우, 포트 6183을 열어야 합니다. Virtualmedia, Assisted-agent 및 Ignition을 사용한 문제 해결은 어려울 수 있으므로 호스트 ILO 및 가상 터미널에 액세스해 봅니다. 이렇게 하면 문제를 훨씬 쉽게 해결할 수 있습니다.
- 모든 오브젝트를 동시에 생성하지 마십시오. 한 번에 하나씩 생성하고 상태를 확인합니다.
- Red Hat Professional 서비스에 문의하여 지원을 받으세요. Red Hat은 이와 같은 블로그, 솔루션, 문서를 게시하여 지식을 공개적으로 공유하지만, 환경마다 사용자 정의 및 과제가 있으며 전 세계의 많은 고객과 폭넓은 경험을 보유하고 있습니다.
요약
위의 단계에서는 RHACM 및 온프레미스 지원 설치 프로그램을 사용하여 베어메탈 OpenShift 클러스터를 배포했습니다.
먼저 사전 요구 사항을 확인합니다. 사전 요구 사항이 충족되면 RHACM 콘솔로 이동하여 베어 메탈 호스트를 생성하고 상태를 확인합니다. 그런 다음 Assisted Installer 및 베어 메탈 호스트를 사용하여 OpenShift 클러스터를 배포합니다. 배포에 성공하면 명령줄로 이동하고 오브젝트를 한 번에 하나씩 생성하여 상태를 확인합니다. 마지막으로 Git 리포지토리에 오브젝트를 생성하고 ArgoCD를 사용하여 RHACM 클러스터에 동기화합니다.
베어메탈 OpenShift 클러스터 배포를 셀프 서비스 리소스로 자동화하려는 경우, 모든 오브젝트를 포함한 Helm 차트를 만들고, 이 Helm 차트를 사용하여 각 클러스터를 배포하는 ArgoCD ApplicationSet을 생성할 수 있습니다. 이는 ACM을 사용한 GitOps로 OpenShift 클러스터 프로비저닝에서 시연된 방법입니다.
저자 소개
Alberto Gonzalez de Dios is a Senior Cloud consultant: Automation and OpenShift specialist. He joined Red Hat in 2018, and he is certified in Azure, AWS and Red Hat (Red Hat Certified Architect Level II).
채널별 검색
오토메이션
기술, 팀, 인프라를 위한 IT 자동화 최신 동향
인공지능
고객이 어디서나 AI 워크로드를 실행할 수 있도록 지원하는 플랫폼 업데이트
오픈 하이브리드 클라우드
하이브리드 클라우드로 더욱 유연한 미래를 구축하는 방법을 알아보세요
보안
환경과 기술 전반에 걸쳐 리스크를 감소하는 방법에 대한 최신 정보
엣지 컴퓨팅
엣지에서의 운영을 단순화하는 플랫폼 업데이트
인프라
세계적으로 인정받은 기업용 Linux 플랫폼에 대한 최신 정보
애플리케이션
복잡한 애플리케이션에 대한 솔루션 더 보기
가상화
온프레미스와 클라우드 환경에서 워크로드를 유연하게 운영하기 위한 엔터프라이즈 가상화의 미래