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 は、カスタムリソース (CR) status
サブリソース を以前の Ansible 実行についての一般的な情報で自動的に更新します。これには、以下のように成功したタスクおよび失敗したタスクの数と関連するエラーメッセージが含まれます。
さらに 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
および値test2
を使用して更新するには、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