5.4.7.2. 수동으로 사용자 정의 리소스 상태 추적
operator_sdk.util
컬렉션을 사용하면 Ansible 기반 Operator를 수정하여 애플리케이션에서 CR(사용자 정의 리소스) 상태를 수동으로 추적할 수 있습니다.
사전 요구 사항
- Operator SDK를 사용하여 Ansible 기반 Operator 프로젝트 생성
프로세스
manageStatus
필드를false
로 설정하여watches.yaml
파일을 업데이트합니다.- version: v1 group: api.example.com kind: <kind> role: <role> manageStatus: false
operator_sdk.util.k8s_status
Ansible 모듈을 사용하여 하위 리소스를 업데이트합니다. 예를 들어 키test
및 값data
를 사용하여 업데이트하려면operator_sdk.util
을 다음과 같이 사용하면 됩니다.- operator_sdk.util.k8s_status: api_version: app.example.com/v1 kind: <kind> name: "{{ ansible_operator_meta.name }}" namespace: "{{ ansible_operator_meta.namespace }}" status: test: data
역할의
meta/main.yml
파일에 컬렉션을 선언할 수 있습니다. 이 파일은 스캐폴드된 Ansible 기반 Operator에 포함됩니다.collections: - operator_sdk.util
역할 메타에 컬렉션을 선언한 후에는
k8s_status
모듈을 직접 호출할 수 있습니다.k8s_status: ... status: key1: value1