第4章 OpenShift Container Platform での Ansible Automation Controller の設定


Kubernetes のアップグレード中は、Automation Controller が実行されている必要があります。

4.1. OpenShift Container Platform のアップグレード中におけるダウンタイムの最小化

アップグレード中のダウンタイムを最小限に抑えるために、Automation Controller で次の設定変更を行ってください。

前提条件

  • Ansible Automation Platform 2.4 以降
  • Ansible Automation Controller 4.4 以降
  • OpenShift Container Platform:

    • 4.10.42 よりあと
    • 4.11.16 よりあと
    • 4.12.0 よりあと
  • Postgres の高可用性 (HA) デプロイメント
  • Automation Controller Pod をスケジュールできる複数のワーカーノード

手順

  1. AutomationController 仕様で、RECEPTOR_KUBE_SUPPORT_RECONNECT を有効にします。

    apiVersion: automationcontroller.ansible.com/v1beta1
    kind: AutomationController
    metadata:
      ...
    spec:
      ...
      ee_extra_env: |
        - name: RECEPTOR_KUBE_SUPPORT_RECONNECT
          value: enabled
        ```
    Copy to Clipboard Toggle word wrap
  2. AutomationController 仕様で、グレースフル終了機能を有効にします。

    termination_grace_period_seconds: <time to wait for job to finish>
    Copy to Clipboard Toggle word wrap
  3. Web およびタスク Pod 用に podAntiAffinity を設定し、AutomationController 仕様でデプロイメントを分散します。

    task_affinity:
        podAntiAffinity:
          preferredDuringSchedulingIgnoredDuringExecution:
          - podAffinityTerm:
              labelSelector:
                matchExpressions:
                - key: app.kubernetes.io/name
                  operator: In
                  values:
                  - awx-task
              topologyKey: topology.kubernetes.io/zone
            weight: 100
      web_affinity:
        podAntiAffinity:
          preferredDuringSchedulingIgnoredDuringExecution:
          - podAffinityTerm:
              labelSelector:
                matchExpressions:
                - key: app.kubernetes.io/name
                  operator: In
                  values:
                  - awx-web
              topologyKey: topology.kubernetes.io/zone
            weight: 100
    Copy to Clipboard Toggle word wrap
  4. OpenShift Container Platform で PodDisruptionBudget を設定します。

    ---
    apiVersion: policy/v1
    kind: PodDisruptionBudget
    metadata:
      name: automationcontroller-job-pods
    spec:
      maxUnavailable: 0
      selector:
        matchExpressions:
          - key: ansible-awx-job-id
            operator: Exists
    ---
    apiVersion: policy/v1
    kind: PodDisruptionBudget
    metadata:
      name: automationcontroller-web-pods
    spec:
      minAvailable: 1
      selector:
        matchExpressions:
          - key: app.kubernetes.io/name
            operator: In
            values:
              - <automationcontroller_instance_name>-web
    ---
    apiVersion: policy/v1
    kind: PodDisruptionBudget
    metadata:
      name: automationcontroller-task-pods
    spec:
      minAvailable: 1
      selector:
        matchExpressions:
          - key: app.kubernetes.io/name
            operator: In
            values:
              - <automationcontroller_instance_name>-task
    Copy to Clipboard Toggle word wrap
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat