5.4.3. Ansible 기반 Operator의 프로젝트 레이아웃

operator-sdk CLI에서는 각 Operator 프로젝트에 대해 다양한 패키지 및 파일을 생성하거나 스캐폴드를 지정할 수 있습니다.

5.4.3.1. Ansible 기반 프로젝트 레이아웃

operator-sdk init --plugins ansible 명령을 사용하여 생성된 Ansible 기반 Operator 프로젝트에는 다음 디렉터리 및 파일이 포함됩니다.

파일 또는 디렉터리목적

Dockerfile

Operator의 컨테이너 이미지를 빌드하는 Dockerfile입니다.

Makefile

Operator 바이너리를 래핑하는 컨테이너 이미지를 빌드, 게시, 배포할 대상 및 CRD(사용자 정의 리소스 정의)를 설치 및 설치 제거할 대상입니다.

PROJECT

Operator의 메타데이터 정보가 포함된 YAML 파일입니다.

config/crd

기본 CRD 파일 및 kustomization.yaml 파일 설정입니다.

config/default

배포를 위해 모든 Operator 매니페스트를 수집합니다. make deploy 명령에서 사용합니다.

config/manager

컨트롤러 관리자 배포입니다.

config/prometheus

Operator 모니터링을 위한 ServiceMonitor 리소스입니다.

config/rbac

리더 선택 방식 및 인증 프록시 관련 역할 및 역할 바인딩입니다.

config/samples

CRD에 대해 생성된 샘플 리소스입니다.

config/testing

테스트를 위한 샘플 구성입니다.

playbooks/

플레이북을 실행할 하위 디렉터리입니다.

roles/

역할 트리를 실행할 하위 디렉터리입니다.

watches.yaml

조사할 리소스의 GVK(그룹/버전/종류) 및 Ansible 호출 메서드입니다. create api 명령을 사용하여 새 항목이 추가되었습니다.

requirements.yml

빌드 중 설치할 Ansible 컬렉션 및 역할 종속 항목이 포함된 YAML 파일입니다.

molecule/

역할 및 Operator의 끝점 테스트에 대한 개별 시나리오입니다.