f5devcentral.atc_deploy
Ansibleロール: F5自動化ツールチェーン (ATC) デプロイ宣言
このロールは、BIG-IP または BIG-IQ にインストールされた自動化ツールチェーンサービス (AS3, DO, TS) に宣言をデプロイします。このロールを使用して、次の BIG-IP または BIG-IQ 自動化ツールチェーンサービスに宣言を投稿します: アプリケーションサービス 3 拡張 (AS3)、宣言型オンボーディング (DO)、またはテレメトリストリーミング (BIG-IP のみ)。これらのサービスに関する情報やサンプルの宣言は、f5-cloud-docs で入手できます。
- 注: このロールは、参照された宣言に基づいて使用するサービスを決定します。これはサービスクラスを含む必要があります。 例えば、AS3の宣言には、JSON宣言ファイルで「class」のキーを使用したサービスポインタが含まれています。例。宣言の最初にサービスポインタを定義してください。
要件
宣言をデプロイする前に、対応する ATC サービスが BIG-IP または BIG-IQ にインストールされている必要があります。
ロール変数
使用可能な変数は以下にリストされています。デフォルト値については defaults/main.yml
を参照してください。
変数名 | 必須 | デフォルト | 例 | 情報 |
---|---|---|---|---|
provider | はい | - | provider: "{{ provider }}" | provider 辞書は、F5モジュールの動作と同様に、BIG-IPへの接続詳細を定義するためにロールで使用されます。 |
atc_method | いいえ | GET | atc_method: GET | |
atc_declaration | はい | - | atc_declaration: "{{ lookup('template', 'decl.json') }}" | atc_declaration_file および atc_declaration_url と相互排他です。 |
atc_declaration_file | はい | - | atc_declaration_file: "files/decl.json" | atc_declaration および atc_declaration_url と相互排他です。 |
atc_declaration_url | はい | - | atc_declaration_url: "https://testurl/as3.json" | atc_declaration および atc_declaration_file と相互排他です。 |
atc_service | いいえ | - | atc_service: AS3 | |
atc_delay | はい | 30 | atc_delay: 30 | 非同期呼び出しが完了しているか確認する際のリトライ間隔(秒) |
atc_retries | はい | 10 | atc_retries: 10 | ロールがタスクが完了したかを確認する回数(失敗する前) |
as3_tenant | いいえ | - | as3_tenant: Tenant1 | AS3 3.14.0 以降では、特定のテナントを URI に指定して /declare エンドポイントに POST するオプションがあります(例: …/declare/tenant1)。これにより、指定したテナントのみが更新され、宣言に他のテナントが存在しても影響を受けません。これは、AS3 に関わる一部の自動化シナリオで便利です。 |
as3_show | はい | base | as3_show: base | POST、GET、または DELETE のための URL クエリパラメータを使用できます。 必須 baseは システムが元の宣言を返します(ただし、パスフレーズなどのシークレットは暗号化されます)。fullは、すべてのデフォルトスキーマプロパティが populated された宣言を返します。expandedは、すべてのURL、base64、および他の参照が最終的な静的値に拡張されます。 |
as3_showhash | いいえ | - | as3_showhash: true | POST のための URL クエリパラメータを使用できます(注: POSTのshowHashはAS3 3.14.0で導入され、3.14.0以降でのみ動作します)。これは、宣言内のテナントを保護するメカニズムとして導入されました(以前は、楽観的ロックを取得するために別のGETリクエストを使用する必要がありました)。“showHash=true”を設定すると、各テナントのためのoptimisticLockKeyが結果に含まれます。正しいoptimisticLockKeyがない状態で、テナントを変更/更新しようとすると失敗します。 |
check_teem | はい | true | check_teem: true | テレメトリ用にAnsibleのバージョンを含むようにAS3の宣言を更新します。 |
依存関係
なし。
例
AT宣言のGET
- name: AT宣言をGETする
hosts: bigip
tasks:
- name: ATC GET
include_role:
name: atc_deploy
vars:
atc_method: GET
# サービスをAS3、デバイス、またはテレメトリとして選択
atc_service: AS3
provider:
server: 192.168.1.245
server_port: "443"
user: admin
password: admin
validate_certs: "false"
auth_provider: tmos
- debug: var=atc_GET_status
AT宣言のPOST
- name: AT宣言をPOSTする
hosts: bigip
tasks:
- name: ATC POST
include_role:
name: atc_deploy
vars:
atc_method: POST
atc_declaration: "{{ lookup('template', 'decl.json') }}"
# atc_declaration_file: files/as3.json
# atc_declaration_url: "https://testurl/as3.json"
atc_declaration_file: "files/as3.json"
atc_delay: 10
atc_retries: 5
provider:
server: 192.168.1.245
server_port: "443"
user: admin
password: admin
validate_certs: "false"
auth_provider: tmos
# atc_AS3_status, atc_DO_status , atc_TS_status
- debug: var=atc_AS3_status
ライセンス
Apache
著者情報
このロールは2019年にGreg Crosbyによって作成されました。
謝辞
Ansibleプレイブックの例については、Vinnie Mazza (@vinnie357) に特別感謝します。
プロジェクトについて
Allows declaration to be sent to automation tool chain service (AS3, DO, or TS)
インストール
ansible-galaxy install f5devcentral.atc_deploy
ライセンス
apache-2.0
ダウンロード
21.2k
所有者
Community Supported Repos