검색

1.13. 관리 클러스터에서 실행되도록 Ansible Tower 작업 구성

download PDF

Red Hat Advanced Cluster Management는 Ansible Tower 자동화와 통합되어 클러스터를 생성하거나 업그레이드하기 전이나 후에 발생하는 prehook 및 posthook AnsibleJob 인스턴스를 생성할 수 있습니다. 클러스터 제거에 대한 prehook 및 posthook 작업을 구성하고 클러스터 스케일링 작업은 지원되지 않습니다.

필수 액세스 권한: 클러스터 관리자

1.13.1. 사전 요구 사항

Red Hat Advanced Cluster Management 클러스터에서 Ansible 템플릿을 실행하려면 다음 사전 요구 사항을 충족해야 합니다.

  • OpenShift Container Platform 4.6 이상
  • Ansible Automation Platform Resource Operator를 설치하여 Ansible 작업을 Git 서브스크립션 라이프사이클에 연결합니다. AnsibleJob을 사용하여 Ansible Tower 작업을 시작할 때 최상의 결과를 얻으려면 Ansible Tower 작업 템플릿이 멱등이어야 합니다. OpenShift Container Platform OperatorHub 에서 Ansible Automation Platform Resource Operator를 찾을 수 있습니다.

Ansible Tower 자동화 설치 및 구성에 대한 자세한 내용은 Ansible 작업 설정을 참조하십시오.

1.13.2. 콘솔을 사용하여 클러스터에서 실행되도록 AnsibleJob 템플릿 구성

클러스터를 생성할 때 클러스터에 사용할 Ansible 작업 템플릿을 지정해야 합니다. 클러스터를 생성할 때 템플릿을 지정하려면 자동화 단계에서 클러스터에 적용할 Ansible 템플릿을 선택합니다. Ansible 템플릿이 없는 경우 자동화 템플릿 추가를 클릭하여 템플릿을 생성합니다.

1.13.3. AnsibleJob 템플릿 생성

클러스터 설치 또는 업그레이드를 사용하여 Ansible 작업을 시작하려면 작업을 실행할 시기를 지정할 Ansible 작업 템플릿을 생성해야 합니다. 클러스터 설치 또는 업그레이드 전후에 실행되도록 구성할 수 있습니다.

템플릿을 생성하는 동안 Ansible 템플릿 실행에 대한 세부 정보를 지정하려면 콘솔의 단계를 완료합니다.

  1. Red Hat Advanced Cluster Management 탐색에서 Infrastructure > Automation 을 선택합니다.
  2. 상황에 맞는 경로를 선택합니다.

    • 새 템플릿을 생성하려면 Create Ansible template 을 클릭하고 3단계를 계속합니다.
    • 기존 템플릿을 수정하려면 수정하려는 템플릿의 옵션 메뉴에서 템플릿 편집 을 클릭하고 5단계로 진행합니다.
  3. 템플릿의 고유 이름을 입력합니다. 소문자 영숫자 또는 하이픈(-)을 포함합니다.
  4. 새 템플릿에 사용할 인증 정보를 선택합니다. Ansible 자격 증명을 Ansible 템플릿에 연결하려면 다음 단계를 완료합니다.

    1. Red Hat Advanced Cluster Management 탐색에서 자동화 를 선택합니다. 인증 정보에 연결되지 않은 템플릿 목록에 있는 템플릿에는 템플릿을 기존 인증 정보에 연결하는 데 사용할 수 있는 인증 정보 링크 아이콘이 포함되어 있습니다. 템플릿과 동일한 네임스페이스에 있는 인증 정보만 표시됩니다.
    2. 선택할 수 있는 인증 정보가 없거나 기존 인증 정보를 사용하지 않으려면 연결할 템플릿의 옵션 메뉴에서 템플릿 편집 을 선택합니다.
    3. 인증 정보 추가 를 클릭하고 인증 정보를 생성해야 하는 경우 Ansible Automation Platform에 대한 인증 정보 생성 절차를 완료합니다.
    4. 템플릿과 동일한 네임스페이스에 인증 정보를 생성한 후 템플릿을 편집할 때 Ansible Automation Platform 인증 정보 필드에서 인증 정보를 선택합니다.
  5. 클러스터를 설치하기 전에 Ansible 작업을 시작하려면 Pre-install Ansible 작업 템플릿 섹션에서 Add an Ansible 작업 템플릿 섹션을 선택합니다.
  6. 클러스터 설치 또는 업그레이드에 추가할 prehook 및 posthook Ansible 작업의 이름을 선택하거나 입력합니다.

    참고: Ansible 작업 템플릿 이름은 Ansible Tower의 Ansible 작업 이름과 일치해야 합니다.

  7. 필요한 경우 Ansible 작업을 끌어서 순서를 변경합니다.
  8. 클러스터가 설치 후 Ansible 작업 템플릿 섹션, Pre -upgrade Ansible 작업 템플릿 섹션 및 업그레이드 Ansible 작업 템플릿 섹션에 설치 하려는 모든 Ansible 작업 템플릿에 대해 5 - 7단계를 반복합니다.

Ansible 템플릿은 지정된 작업이 발생할 때 이 템플릿을 지정하는 클러스터에서 실행되도록 구성됩니다.

1.13.4. 라벨을 사용하여 관리 클러스터에서 실행되도록 AnsibleJob 템플릿 구성

Red Hat Advanced Cluster Management for Kubernetes에서 클러스터를 생성하거나 라벨을 사용하여 Red Hat Advanced Cluster Management로 가져올 때 클러스터에 바인딩되는 AnsibleJob 을 생성할 수 있습니다.

Ansible 작업을 생성하고 Red Hat Advanced Cluster Management에서 아직 관리하지 않은 클러스터로 구성하려면 다음 절차를 완료합니다.

  1. 애플리케이션 함수에서 지원하는 채널 중 하나에서 Ansible 작업에 대한 정의 파일을 생성합니다. Git 채널만 지원됩니다.

    정의에서 kind 값으로 AnsibleJob 을 사용합니다.

    정의 파일 내용은 다음 예와 유사합니다.

    apiVersion: apiVersion: tower.ansible.com/v1alpha1
    kind: AnsibleJob
    metadata:
      name: hive-cluster-gitrepo
    spec:
      tower_auth_secret: my-toweraccess
      job_template_name: my-tower-template-name
      extra_vars:
        variable1: value1
        variable2: value2

    prehook 또는 posthook 디렉터리에 파일을 저장하면 배치 규칙과 일치하는 클러스터 이름 목록이 생성됩니다. 클러스터 이름 목록은 AnsibleJob 종류 리소스에 extra_vars 값으로 전달할 수 있습니다. 이 값이 AnsibleJob 리소스에 전달되면 Ansible 작업에서 새 클러스터 이름을 확인하고 자동화에 사용할 수 있습니다.

  2. Red Hat Advanced Cluster Management hub 클러스터에 로그인합니다.
  3. Red Hat Advanced Cluster Management 콘솔을 사용하여 방금 생성한 정의 파일을 저장한 채널을 참조하는 Git 서브스크립션이 있는 애플리케이션을 생성합니다. 애플리케이션 및 서브스크립션 생성에 대한 자세한 내용은 애플리케이션 리소스 관리를 참조하십시오.

    서브스크립션을 생성할 때 이 서브스크립션을 클러스터와 연결하기 위해 생성하거나 나중에 가져오는 클러스터에 추가할 수 있는 레이블을 지정합니다. vendor=OpenShift 와 같은 기존 레이블 또는 생성 및 정의하는 고유한 레이블일 수 있습니다.

    참고: 이미 사용 중인 레이블을 선택하면 Ansible 작업이 자동으로 실행됩니다. prehooks 또는 posthooks의 일부가 아닌 애플리케이션에 리소스를 포함하는 것이 좋습니다.

    기본 배치 규칙은 AnsibleJob 의 레이블과 일치하는 라벨을 사용하여 클러스터를 감지할 때 작업을 실행합니다. 허브 클러스터에서 관리하는 실행 중인 모든 클러스터에서 자동화를 실행하려면 배치 규칙에 다음 내용을 추가합니다.

    clusterConditions:
      - type: ManagedClusterConditionAvailable
        status: "True"

    배치 규칙의 YAML 콘텐츠에 붙여넣거나 Red Hat Advanced Cluster Management 콘솔의 애플리케이션 생성 페이지의 모든 온라인 클러스터 및 로컬 클러스터에 배포하는 옵션을 선택할 수 있습니다.

  4. 클러스터 생성 또는 대상 관리 클러스터를 각각 허브 클러스터로 가져오기의 지침에 따라 클러스터를 만들거나 가져옵니다.

    클러스터를 생성하거나 가져올 때 서브스크립션을 만들 때 사용한 것과 동일한 레이블을 사용하며 AnsibleJob 은 클러스터에서 실행되도록 자동으로 구성됩니다.

Red Hat Advanced Cluster Management는 AnsibleJob.extra_vars.target_clusters 경로에 클러스터 이름을 자동으로 삽입합니다. 클러스터 이름을 정의에 동적으로 삽입할 수 있습니다. AnsibleJob을 생성하고 Red Hat Advanced Cluster Management에서 이미 관리하는 클러스터로 구성하려면 다음 절차를 완료합니다.

  1. Git 채널의 prehook 또는 posthook 디렉터리에서 AnsibleJob에 대한 정의 파일을 생성합니다.

    정의에서 kind 값으로 AnsibleJob 을 사용합니다.

    정의 파일 내용은 다음 예와 유사합니다.

    apiVersion: tower.ansible.com/v1alpha1
    kind: AnsibleJob
    metadata:
      name: hive-cluster-gitrepo
    spec:
      tower_auth_secret: my-toweraccess
      job_template_name: my-tower-template-name
      extra_vars:
        variable1: value1
        variable2: value2

    my-toweraccess 를 인증 시크릿으로 교체하여 Ansible Tower에 액세스합니다.

    my-tower-template-name 을 Ansible Tower의 템플릿 이름으로 교체합니다.

Ansible 작업에서 제어되는 클러스터가 제거 또는 추가될 때마다 AnsibleJob은 extra_vars.target_clusters 변수를 자동으로 실행하고 업데이트합니다. 이번 업데이트를 통해 특정 자동화로 클러스터 이름을 지정하거나 클러스터 그룹에 자동화를 적용할 수 있습니다.

1.13.5. Ansible 작업 상태 보기

실행 중인 Ansible 작업의 상태를 보고 시작했으며 성공적으로 실행되고 있는지 확인할 수 있습니다. 실행 중인 Ansible 작업의 현재 상태를 보려면 다음 단계를 완료합니다.

  1. Red Hat Advanced Cluster Management 메뉴에서 Infrastructure > Clusters 를 선택하여 클러스터 페이지에 액세스합니다.
  2. 클러스터 이름을 선택하여 세부 정보를 확인합니다.
  3. 클러스터 정보에 대해 Ansible 작업의 마지막 실행 상태를 봅니다. 이 항목은 다음 상태 중 하나를 보여줍니다.

    • 설치 prehook 또는 posthook 작업이 실패하면 클러스터 상태에 Failed 가 표시됩니다.
    • 업그레이드 prehook 또는 posthook 작업이 실패하면 업그레이드에 실패한 배포 필드에 경고가 표시됩니다.

      팁: 클러스터 prehook 또는 posthook 실패한 경우 클러스터 페이지에서 업그레이드를 재시도할 수 있습니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.