제7장. 오퍼레이터 와 사용자 정의 리소스 정의(CRD)
이 작품은 AI를 사용하여 번역되었습니다. 여러분의 피드백과 의견을 환영합니다: translation-feedback@oreilly.com
쿠버네티스는 표준 원시 기능 세트로 애플리케이션 스택을 실행하는 기본 요구 사항을 충족하기 위한 핵심 기능 세트를 제공합니다. 사용자 정의 사용 사례를 위해 쿠버네티스는 플랫폼 확장 기능 인 오퍼레이터를 설치할 수 있도록 합니다.
사용자 정의 리소스 정의(CRD) 는 내장된 기본 요소로 충족되지 않는 요구 사항을 해결하기 위해 사용자 정의 API 기본 요소를 도입하는 쿠버네티스 확장 메커니즘(종종 오퍼레이터와 함께 번들로 제공됨)입니다.
이 장에서는 오퍼레이터의 설치 및 구성과 함께 제공된 CRD와의 상호작용에 중점을 둘 것입니다.
오퍼레이터 작업
오퍼레이터는 쿠버네티스 코드를 실제로 변경하지 않고도 쿠버네티스 클러스터의 핵심 동작을 확장합니다. 오퍼레이터를 플랫폼의 플러그인으로 생각할 수 있습니다. 오퍼레이터는 일반적으로 애플리케이션 배포, 구성, 확장, 업그레이드 및 관리와 같이 사람이 수행해야 하는 작업을 자동화합니다.
오퍼레이터 패턴
오퍼레이터 는 일반적으로 하나 이상의 CRD, 컨트롤러, 그리고 권한을 위한 RBAC 규칙과 같은 추가 구성 요소로 구성됩니다. CRD는 사용자 정의 객체의 청사진을 정의하는 스키마로 이해할 수 있으며, 새로 도입된 유형(사용자 정의 리소스(CR)라고도 함)으로 이러한 객체를 인스턴스화합니다.
CRD가 유용하게 사용되려면 컨트롤러의 지원이 필요합니다. 컨트롤러는 쿠버네티스 API와 상호작용하며 CRD 객체와 연동되는 조정(reconciliation) 로직을 구현합니다.
CRD와 컨트롤러의 조합은 일반적으로 오퍼레이터 패턴으로 불립니다. 시험에서는 컨트롤러에 대한 이해를 요구하지 않으므로, 본 장에서는 그 구현에 대해 다루지 않을 것입니다.
그림 7-1은 모든 구성 요소를 포함한 오퍼레이터 패턴을 보여줍니다.
그림 7-1. 쿠버네티스 오퍼레이터 패턴
오퍼레이터 찾기
쿠버네티스 커뮤니티는 OperatorHub.io 또는 Artifact Hub에서 확인할 수 있는 다양한 유용한 오퍼레이터 를 구현했습니다.
대표적인 오퍼레이터 로는 Amazon Web Services(AWS) Secrets Manager나 HashiCorp Vault 같은 외부 시크릿 관리자를 쿠버네티스와 통합하는 데 도움을 주는 External Secrets Operator가 있습니다. 또 다른 오퍼레이터 로는 선언적 구문을 사용하여 클라우드 리소스를 생성하고 관리하는 데 도움을 주는 Crossplane 오퍼레이터가 있습니다.
OperatorHub.io의 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access