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.4.2. Ansible ベース Operator の作成
				以下では、Operator SDK における Ansible サポートについての概要を説明し、Operator の作成者に、Ansible Playbook およびモジュールを使用する operator-sdk CLI ツールを使って Ansible ベースの Operator をビルドし、実行するサンプルを示します。
			
4.2.1. Operator SDK における Ansible サポート リンクのコピーリンクがクリップボードにコピーされました!
Operator Framework は Operator という Kubernetes ネイティブアプリケーションを効果的かつ自動化された拡張性のある方法で管理するためのオープンソースツールキットです。このフレームワークには Operator SDK が含まれ、これは Kubernetes API の複雑性を把握していなくても、それぞれの専門知識に基づいて Operator のブートストラップおよびビルドを実行できるように開発者を支援します。
Operator プロジェクトを生成するための Operator SDK のオプションの 1 つに、Go コードを作成することなしに Kubernetes リソースを統一されたアプリケーションとしてデプロイするために既存の Ansible Playbook およびモジュールを使用できるオプションがあります。
4.2.1.1. カスタムリソースファイル リンクのコピーリンクがクリップボードにコピーされました!
Operator は Kubernetes の拡張メカニズムであるカスタムリソース定義 (CRD) を使用するため、カスタムリソース (CR) は、組み込み済みのネイティブ Kubernetes オブジェクトのように表示され、機能します。
CR ファイル形式は Kubernetes リソースファイルです。オブジェクトには、必須およびオプションフィールドが含まれます。
| フィールド | 説明 | 
|---|---|
|   
										  |   作成される CR のバージョン。  | 
|   
										  |   作成される CR の種類。  | 
|   
										  |   作成される Kubernetes 固有のメタデータ。  | 
|   
										  |   Ansible に渡される変数のキーと値の一覧。このフィールドは、デフォルトでは空です。  | 
|   
										  |   
										オブジェクトの現在の状態の概要を示します。Ansible ベースの Operator の場合、  | 
|   
										  |   CR に付加する Kubernetes 固有のアノテーション。  | 
CR アノテーションの以下の一覧は Operator の動作を変更します。
| アノテーション | 説明 | 
|---|---|
|   
										  |   
										CR の調整間隔を指定します。この値は標準的な Golang パッケージ   | 
Ansible ベースの Operator アノテーションの例
4.2.1.2. watches.yaml ファイル リンクのコピーリンクがクリップボードにコピーされました!
						group/version/kind(GVK) は Kubernetes API の一意の識別子です。watches.yaml ファイルには、その GVK によって特定される、カスタムリソース (CR) から Ansible ロールまたは Playbook へのマッピングの一覧が含まれます。Operator はこのマッピングファイルが事前に定義された場所の /opt/ansible/watches.yaml にあることを予想します。
					
| フィールド | 説明 | 
|---|---|
|   
										  |   監視する CR のグループ。  | 
|   
										  |   監視する CR のバージョン。  | 
|   
										  |   監視する CR の種類。  | 
|   
										  |   
										コンテナーに追加される Ansible ロールへのパスです。たとえば、   | 
|   
										  |   
										コンテナーに追加される Ansible Playbook へのパスです。この Playbook の使用はロールを呼び出す方法になります。このフィールドは   | 
|   
										  |   ロールまたは Playbook が特定の CR について実行される調整期間および頻度。  | 
|   
										  |   
										  | 
watches.yaml ファイルの例
4.2.1.2.1. 高度なオプション リンクのコピーリンクがクリップボードにコピーされました!
							高度な機能は、それらを GVK ごとに watches.yaml ファイルに追加して有効にできます。それらは group、version、kind および playbook または role フィールドの下に移行できます。
						
一部の機能は、CR のアノテーションを使用してリソースごとに上書きできます。オーバーライドできるオプションには、以下に指定されるアノテーションが含まれます。
| 機能 | YAML キー | 説明 | 上書きのアノテーション | デフォルト値 | 
|---|---|---|---|---|
|   調整期間  |   
											  |   特定の CR についての調整実行の間隔。  |   
											  |   
											  | 
|   ステータスの管理  |   
											  |   
											Operator は各 CR の   |   
											  | |
|   依存するリソースの監視  |   
											  |   Operator は Ansible によって作成されるリソースを動的に監視できます。  |   
											  | |
|   クラスタースコープのリソースの監視  |   
											  |   Operator は Ansible によって作成されるクラスタースコープのリソースを監視できます。  |   
											  | |
|   最大 Runner アーティファクト  |   
											  |   Ansible Runner が各リソースについて Operator コンテナーに保持する アーティファクトディレクトリー の数を管理します。  |   
											  |   
											  | 
高度なオプションを含む watches.yml ファイルの例
4.2.1.3. Ansible に送信される追加変数 リンクのコピーリンクがクリップボードにコピーされました!
						追加の変数を Ansible に送信し、Operator で管理できます。カスタマーリソース (CR) の spec セクションでは追加変数としてキーと値のペアを渡します。これは、ansible-playbook コマンドに渡される追加変数と同等です。
					
						また Operator は、CR の名前および CR の namespace についての meta フィールドの下に追加の変数を渡します。
					
以下は CR の例になります。
追加変数として Ansible に渡される構造は以下のとおりです。
						message および newParameter フィールドは追加変数として上部に設定され、meta は Operator に定義されるように CR の関連メタデータを提供します。meta フィールドは、Ansible のドット表記などを使用してアクセスできます。
					
- debug:
    msg: "name: {{ meta.name }}, {{ meta.namespace }}"
- debug:
    msg: "name: {{ meta.name }}, {{ meta.namespace }}"
4.2.1.4. Ansible Runner ディレクトリー リンクのコピーリンクがクリップボードにコピーされました!
						Ansible Runner はコンテナーに Ansible 実行についての情報を維持します。これは /tmp/ansible-operator/runner/<group>/<version>/<kind>/<namespace>/<name> に置かれます。
					
関連情報
- 
								
runnerディレクトリーについての詳細は、Ansible Runner ドキュメント を参照してください。