4장. OpenShift Container Platform에서 Ansible 자동화 컨트롤러 구성
Kubernetes 업그레이드 중에 자동화 컨트롤러가 실행 중이어야 합니다.
4.1. OpenShift Container Platform 업그레이드 중 다운타임 최소화 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
자동화 컨트롤러에서 다음과 같은 구성을 변경하여 업그레이드 중 다운타임을 최소화합니다.
사전 요구 사항
- Ansible Automation Platform 2.4 이상
- Ansible 자동화 컨트롤러 4.4 이상
OpenShift Container Platform:
- 4.10.42 이상
- 4.11.16 이상
- 4.12.0 이상
- Postgres의 HA(고가용성) 배포
- 자동화 컨트롤러 Pod를 예약할 수 있는 여러 작업자 노드
프로세스
AutomationController 사양에서
RECEPTOR_KUBE_SUPPORT_RECONNECT를 활성화합니다.apiVersion: automationcontroller.ansible.com/v1beta1 kind: AutomationController metadata: ... spec: ... ee_extra_env: | - name: RECEPTOR_KUBE_SUPPORT_RECONNECT value: enabled ```AutomationController 사양에서 정상 종료 기능을 활성화합니다.
termination_grace_period_seconds: <time to wait for job to finish>AutomationController 사양의 배포를 분배하도록 Pod가 웹에 대해
podAntiAffinity를 구성합니다.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: 100OpenShift 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