3장. Ansible 플레이북의 실용적인 예


Ansible은 클라우드 기반 REST API에서 Linux 및 Windows 시스템, 네트워킹 하드웨어 등에 이르기까지 다양한 장치 분류와 통신할 수 있습니다.

다음은 두 가지 유형의 서버를 자동으로 업데이트하는 두 가지 Ansible 모듈의 샘플입니다.

3.1. 플레이북 실행

플레이북은 맨 위에서 아래로 실행됩니다. 각 플레이 내에서 작업도 위에서 아래로 실행됩니다. 여러 '플레이'가 있는 플레이북은 다중 시스템 배포를 오케스트레이션하고, WebAssembly에서 하나의 플레이를 실행한 다음, 데이터베이스 서버에서 다른 플레이, 네트워크 인프라에서 세 번째 플레이 등을 오케스트레이션할 수 있습니다.

최소한 각 플레이는 다음 두 가지를 정의합니다.

  • 패턴을 사용하여 대상으로 하는 관리형 노드
  • 실행할 하나 이상의 작업
참고

Ansible 2.10 이상에서는 플레이북에서 정규화된 컬렉션 이름을 사용하여 여러 컬렉션에 동일한 이름의 모듈을 포함할 수 있으므로(예: 사용자) 올바른 모듈이 선택되었는지 확인합니다.

자세한 내용은 플레이북에서 컬렉션 사용을 참조하십시오.

이 예제에서 첫 번째 플레이는 웹 서버를 대상으로 합니다. 두 번째 플레이는 데이터베이스 서버를 대상으로 합니다.

---
- name: Update web servers
  hosts: webservers
  become: true

  tasks:
    - name: Ensure apache is at the latest version
      ansible.builtin.yum:
        name: httpd
        state: latest
    - name: Write the apache config file
      ansible.builtin.template:
        src: /srv/httpd.j2
        dest: /etc/httpd.conf
        mode: "0644"

- name: Update db servers
  hosts: databases
  become: true

  tasks:
    - name: Ensure postgresql is at the latest version
      ansible.builtin.yum:
        name: postgresql
        state: latest
    - name: Ensure that postgresql is started
      ansible.builtin.service:
        name: postgresql
        state: started

Playbook에는 두 개의 플레이가 포함되어 있습니다.

  • 첫 번째는 웹 서버 소프트웨어가 최신 상태인지 확인하고 필요한 경우 업데이트를 실행합니다.
  • 두 번째는 데이터베이스 서버 소프트웨어가 최신 상태인지 확인하고 필요한 경우 업데이트를 실행합니다.

플레이북은 단순한 호스트 행 및 작업 이상을 포함할 수 있습니다.

예를 들어 이 플레이북은 각 플레이에 대해 remote_user를 설정합니다. SSH 연결의 사용자 계정입니다. 플레이북, 플레이 또는 작업 수준에서 다른 플레이북 키워드를 추가하여 Ansible 작동 방식에 영향을 미칠 수 있습니다. 플레이북 키워드는 연결 플러그인, 권한 에스컬레이션 사용 여부, 오류 처리 방법 등을 제어할 수 있습니다.

Ansible을 사용하면 다양한 환경을 지원하기 위해 이러한 매개변수를 Ansible 구성 또는 인벤토리에서 명령줄 플래그로 설정할 수 있습니다. 이러한 데이터 소스에 대한 우선 순위 규칙을 학습하면 Ansible 에코시스템을 확장하는 데 도움이 될 수 있습니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.