5.4.7. Operator 内での Ansible の使用
Kubernetes Collection for Ansible をローカルで使用すること に慣れたら、カスタムリソース (CR) の変更時に Operator 内で同じ Ansible ロジックをトリガーできます。この例では、Ansible ロールを、Operator が監視する特定の Kubernetes リソースにマップします。このマッピングは watches.yaml ファイルで実行されます。
5.4.7.1. カスタムリソースファイル リンクのコピーリンクがクリップボードにコピーされました!
Operator は Kubernetes の拡張メカニズムであるカスタムリソース定義 (CRD) を使用します。そのため、カスタムリソース (CR) は、組み込みのネイティブ Kubernetes オブジェクトのように表示され、機能します。
CR ファイル形式は Kubernetes リソースファイルです。オブジェクトには、必須およびオプションフィールドが含まれます。
| フィールド | 説明 |
|---|---|
|
| 作成される CR のバージョン。 |
|
| 作成される CR の種類。 |
|
| 作成される Kubernetes 固有のメタデータ。 |
|
| Ansible に渡される変数のキーと値のリスト。このフィールドは、デフォルトでは空です。 |
|
|
オブジェクトの現在の状態の概要を示します。Ansible ベースの Operator の場合、 |
|
| CR に付加する Kubernetes 固有のアノテーション。 |
CR アノテーションの以下のリストは Operator の動作を変更します。
| アノテーション | 説明 |
|---|---|
|
|
CR の調整間隔を指定します。この値は標準的な Golang パッケージ |
Ansible ベースの Operator アノテーションの例
apiVersion: "test1.example.com/v1alpha1"
kind: "Test1"
metadata:
name: "example"
annotations:
ansible.operator-sdk/reconcile-period: "30s"