4.3. OpenShift Container Platform의 Operator
Operator는 OpenShift Container Platform의 가장 중요한 구성 요소 중 하나입니다. Operator는 컨트롤 플레인에서 서비스를 패키징, 배포 및 관리하는 기본 방법입니다. 또한 사용자가 실행하는 애플리케이션에 이점을 제공할 수 있습니다.
Operator는 kubectl
및 oc
명령과 같은 CLI 툴 및 Kubernetes API와 통합됩니다. 애플리케이션 모니터링, 상태 점검 수행, OTA(Over-the-air) 업데이트 관리 및 애플리케이션이 지정된 상태로 유지되도록 하는 수단을 제공합니다.
Operator에서는 더 세분화된 구성 환경도 제공합니다. 글로벌 구성 파일을 수정하는 대신 Operator가 표시하는 API를 수정하여 각 구성 요소를 구성합니다.
CRI-O 및 Kubelet은 모든 노드에서 실행되므로 Operator를 사용하여 거의 모든 다른 클러스터 기능을 컨트롤 플레인에서 관리할 수 있습니다. Operator를 사용하여 컨트롤 플레인에 추가되는 구성 요소에는 중요한 네트워킹 및 인증 정보 서비스가 포함됩니다.
두 가지 모두 유사한 Operator 개념과 목표를 따르지만 OpenShift Container Platform의 Operator는 목적에 따라 서로 다른 두 시스템에서 관리합니다.
- CVO(Cluster Version Operator)에서 관리하는 클러스터 Operator는 클러스터 기능을 수행하기 위해 기본적으로 설치됩니다.
- OLM(Operator Lifecycle Manager)에서 관리하는 선택적 추가 기능 Operator는 사용자가 애플리케이션에서 실행할 수 있도록 액세스할 수 있습니다.
4.3.1. 클러스터 Operator
OpenShift Container Platform에서 모든 클러스터 기능은 일련의 기본 클러스터 Operator 로 나뉩니다. 클러스터 Operator는 클러스터 전체 애플리케이션 로깅, Kubernetes 컨트롤 플레인 관리 또는 머신 프로비저닝 시스템과 같은 특정 클러스터 기능 영역을 관리합니다.
클러스터 Operator는 ClusterOperator
오브젝트로 표시되며, 클러스터 관리자는 관리
추가 리소스
4.3.2. 애드온 Operator
OLM(Operator Lifecycle Manager) 및 OperatorHub는 Kubernetes 네이티브 애플리케이션을 Operator로 관리하는 데 도움이 되는 OpenShift Container Platform의 기본 구성 요소입니다. 함께 사용하면 클러스터에서 사용할 수 있는 선택적 애드온 Operator를 검색, 설치 및 관리할 수 있는 시스템을 제공합니다.
OpenShift Container Platform 웹 콘솔에서 OperatorHub를 사용하여 클러스터 관리자와 권한 있는 사용자는 Operator 카탈로그에서 설치할 Operator를 선택할 수 있습니다. OperatorHub에서 Operator를 설치한 후 전역적으로 또는 특정 네임스페이스에서 사용자 애플리케이션에서 실행할 수 있습니다.
Red Hat Operator, 인증된 Operator 및 커뮤니티 Operator가 포함된 기본 카탈로그 소스를 사용할 수 있습니다. 클러스터 관리자는 사용자 정의 Operator 세트를 포함할 수 있는 자체 사용자 정의 카탈로그 소스를 추가할 수도 있습니다.
개발자는 Operator SDK를 사용하여 OLM 기능을 활용하는 사용자 정의 Operator를 작성할 수 있습니다. 그러면 Operator를 번들하고 사용자 정의 카탈로그 소스에 추가할 수 있으며 이는 클러스터에 추가되어 사용자가 사용할 수 있습니다.
OLM은 OpenShift Container Platform 아키텍처를 구성하는 클러스터 Operator를 관리하지 않습니다.
추가 리소스
- OpenShift Container Platform에서 애드온 Operator 실행 방법에 대한 자세한 내용은 OLM(Operator Lifecycle Manager) 및 OperatorHub 의 Operator 가이드를 참조하십시오.
- Operator SDK에 대한 자세한 내용은 Operator 개발을 참조하십시오.