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.12.2.5. 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
に設定して監視ファイルを更新します。- version: v1 group: api.example.com kind: Foo role: Foo manageStatus: false
- version: v1 group: api.example.com kind: Foo role: Foo manageStatus: false
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次に、
operator_sdk.util.k8s_status
Ansible モジュールを使用してサブリソースを更新します。たとえば、キーfoo
および値bar
を使用して更新するには、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
ロールのメタでコレクションを宣言すると、k8s_status
モジュールを直接起動することができます。
+
k8s_status: <snip> status: foo: bar
k8s_status:
<snip>
status:
foo: bar
追加リソース
- Ansible ベース Operator からのユーザー主導のステータス管理を行う方法についての詳細は、Ansible-based Operator Status Proposal for Operator SDK を参照してください。