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: falseCopy to Clipboard Copied! Toggle word wrap Toggle overflow operator_sdk.util.k8s_statusAnsible モジュールを使用してサブリソースを更新します。たとえば、キー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.utilCopy to Clipboard Copied! Toggle word wrap Toggle overflow ロールのメタでコレクションを宣言すると、
k8s_statusモジュールを直接起動することができます。k8s_status: <snip> status: test1: test2k8s_status: <snip> status: test1: test2Copy to Clipboard Copied! Toggle word wrap Toggle overflow