This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.5.4.4. operator_sdk.util Ansible 컬렉션을 사용하여 사용자 정의 리소스 상태 관리
Ansible 기반 Operator는 이전 Ansible 실행에 대한 일반적인 정보를 사용하여 CR(사용자 정의 리소스) status
하위 리소스를 자동으로 업데이트합니다. 여기에는 다음과 같이 성공 및 실패한 작업의 수와 관련 오류 메시지가 포함됩니다.
Ansible 기반 Operator를 사용하면 Operator 작성자가 operator_sdk.util
컬렉션에 포함된 k8s_status
Ansible 모듈로 사용자 정의 상태 값을 제공할 수 있습니다. 그러면 작성자는 원하는 키-값 쌍을 사용하여 Ansible 내에서 status
를 업데이트할 수 있습니다.
기본적으로 Ansible 기반 Operator에는 항상 위에 표시된 것처럼 일반 Ansible 실행 출력이 포함됩니다. 애플리케이션에서 Ansible 출력을 통해 상태를 업데이트하지 않도록 하려면 애플리케이션에서 수동으로 상태를 추적하면 됩니다.
절차
애플리케이션에서 CR 상태를 수동으로 추적하려면
manageStatus
필드를false
로 설정하여watches.yaml
파일을 업데이트합니다.- version: v1 group: api.example.com kind: Test1 role: Test1 manageStatus: false
- version: v1 group: api.example.com kind: Test1 role: Test1 manageStatus: false
Copy to Clipboard Copied! Toggle word wrap Toggle overflow operator_sdk.util.k8s_status
Ansible 모듈을 사용하여 하위 리소스를 업데이트합니다. 예를 들어test1 및 test
2
값을 사용하여 업데이트하려면operator_sdk.util
을 다음과 같이 사용할 수 있습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 새 Ansible Operator에 포함된 역할의
meta/main.yml
에서도 컬렉션을 선언할 수 있습니다.collections: - operator_sdk.util
collections: - operator_sdk.util
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 역할 메타에 컬렉션을 선언하면
k8s_status
모듈을 직접 호출할 수 있습니다.k8s_status: <snip> status: test1: test2
k8s_status: <snip> status: test1: test2
Copy to Clipboard Copied! Toggle word wrap Toggle overflow