1.5.3.2. シークレット調整の設定
プリフックおよびポストフックの AnsibleJob を使用するメインのサブサブスクリプションの場合、すべてのプリフックおよびポストフックの AnsibleJob またはメインのサブスクリプションが Git リポジトリーで更新された後、メイン/サブのサブスクリプションを調整する必要があります。
プリフックの AnsibleJob とメインのサブスクリプションは新しいプリフックの AnsibleJob インスタンスを継続的に調整および再起動します。
-
プリフックの
AnsibleJobが完了したら、メインのサブスクリプションを再実行します。 - メインのサブスクリプションに仕様変更がある場合は、サブスクリプションを再デプロイします。再デプロイメントの手順に合わせて、メインのサブスクリプションステータスを更新する必要があります。
ハブクラスターのサブスクリプションステータスを
nilにリセットします。サブスクリプションは、ターゲットクラスターにサブスクリプションをデプロイするときに合わせて更新されます。ターゲットクラスターへのデプロイメントが終了すると、ターゲットクラスターのサブスクリプションステータスが
"subscribed"または"failed"になり、ハブクラスターのサブスクリプションステータスに同期されます。-
メインのサブスクリプションが完了したら、新しいポストフックの
AnsibleJobインスタンスを再起動します。 サブスクリプションが更新されていることを確認します。以下の出力を参照してください。
-
subscription.status ==
"subscribed" -
subscription.status ==
"propagated"with all of the target clusters"subscribed"
-
subscription.status ==
AnsibleJob カスタムリソースが作成されると、ターゲットの Ansible Automation Platform と通信することによって、Ansible Automation Platform ジョブを起動するために、Kubernetes ジョブのカスタムリソースが作成されます。ジョブが完了すると、ジョブの最終ステータスが AnsibleJob status.AnsibleJob Result に戻ります。
注記:
AnsibleJob status.conditions は、Kubernetes ジョブの結果の作成を保存するために、Ansible Automation Platform Job Operator によって予約されています。status.conditions は実際の Ansible Automation Platform ジョブのステータスを反映していません。
サブスクリプションコントローラーは、AnsibleJob.status.conditions ではなく、AnsibleJob.status.AnsibleJob.Result によって、Ansible Automation Platform ジョブのステータスをチェックします。
プリフックおよびポストフックの AnsibleJob ワークフローで前述したように、メインのサブスクリプションが Git リポジトリーで更新されると、新しいプリフックおよびポストフックの AnsibleJob インスタンスが作成されます。その結果、1 つのメインサブスクリプションが複数の AnsibleJob インスタンスにリンクできます。
subscription.status.ansiblejobs には、4 つのフィールドが定義されています。
-
lastPrehookJobs: 最新のプリフックの Ansible ジョブ -
prehookJobsHistory: プリフックの Ansible ジョブのすべての履歴 -
lastPosthookJobs: 最新のポストフックの Ansible ジョブ -
posthookJobsHistory: ポストフックの Ansible ジョブのすべての履歴