소개
플레이 북을 만들면 플레이 북을 만들면 원하는 것만 큼 여러 번 동일한 콘텐츠로 즉시 실행할 수 있습니다. 그러나 실제로는 각 고객의 설정에 차이가 있으며 매번 플레이 북을 작성하는 것은 시간이 많이 걸리는 작업입니다.
두 번째 부분의 첫 번째 부분은 플레이 북을 작성하는 기본 방법을 소개하고 세 번째 부분의 두 번째 부분은 재사용과 같은 추가 사용법을 소개합니다.
마지막으로, 나는 Ansible에 네 가지 유형의 라인업이 있다고 설명했지만 이번에는 실행 환경을 구축하고 플레이 북을 작성하고 CUI 도구 Ansible을 사용하여 실행하는 방법을 간략하게 소개합니다.
OSS 버전 (Ansible) 및 상업용 버전 (Ansible Engine)은 거의 동일 하므로이 기사는 OSS 버전 (Ansible)을 사용합니다. 또한 무료 Redhat OS 인 CentOS7에 설치하는 단계도 소개합니다.
가능한 환경 구축
CentOS의 경우 Ansible은 표준 저장소에 포함되어 있으며 표준 패키지 관리자 Yum을 무료 슬롯 게임 설치할 수 있습니다. SELINUX가 설치된 환경에서 작동을 가능하게하려면 libselinux-python도 설치됩니다.
# yum update -y 리포지토리의 내용을 미리 업데이트합니다.
표준 저장소에서 얻은 버전보다 최신 버전의 Ansible을 사용하려면 비표준 Epel 리포지토리에서 가져와야합니다.
RHEL과 함께 설치할 때 설치하기 전에 추가 저장소가 별도로 활성화됩니다.
Ansible을 무료 슬롯 게임 환경 구축
Ansible으로 빌드 할 때는 Playbook이라는 파일을 만들어야합니다.
Playbook은 환경 구성에 관한 설정 정보를 정의하고 Yaml 형식으로 작성할 수있는 파일입니다.
Playbooks는 크며 두 가지 유형으로 구성되어 있습니다. 최상위 플레이 북 (종종 Site.yml이라고 함)과 역할 플레이 북 (최상위 플레이 북에서 호출 된 각 역할에 대한 플레이 북).
작동 할 서버와 장치를 나열하는 재고 파일이라는 파일도 필요합니다.
PlayBook은 친숙한 예제를 무료 슬롯 게임 연극 (영어로)과 유사합니다.
이 스크립트는 번들 스크립트 (최상위 플레이 북)로 관리 할 수 있고 스크립트는 역할 (역할을위한 Playbooks)으로 나뉘어져 재사용 또는 몇 가지를 쉽게 변경할 수 있습니다. 또한 캐스팅 테이블 (인벤토리 파일)이 포함 된 이미지로 누가 어떤 역할인지 알려줍니다.
Ansible Directory 구성
플레이 북 및 인벤토리 파일은 적절한 위치에 있어야합니다. 이 위치를 미리 만듭니다.
재사용의 관점에서 다음 구성이 권장됩니다. 이 디렉토리 구조를 모범 사례라고합니다.
이번에는 Apache를 예제로 사용하여 디렉토리를 만들고 다음과 유사한 파일을 사용합니다.
/데이터/플레이 북
최상위 플레이 북 의이 디렉토리 구조에서 "Apache"를 표시하고 Apache의 역할 플레이 북에 연결하십시오. "Apache"디렉토리와 병행하여 "Tomcat"및 "MySQL"과 같은 다양한 역할 플레이 북을 작성하고 배포 할 수 있습니다.
최상위 플레이 북의 이름 (다이어그램의 site.yml) 및 인벤토리 파일 (다이어그램의 호스트)의 이름은 선택 사항이지만 역할 플레이 북의 "Main.yml"의 이름은 고정되었습니다.
같은 디렉토리에 여러 개의 최상위 플레이 북과 인벤토리 파일을 만들 수 있으며 다른 역할 플레이 북을 다른 디렉토리와 사용할 수 있습니다.
재고 파일 생성
이 파일은 플레이 북에 설명 된 프로세스를 실행할 서버/장비를 정의합니다. 동일한 처리를 수행하는 장치를 그룹화하고 연결에 필요한 개별 사용자 및 비밀번호를 작성합니다.
[]에 나열된 문자는 그룹에 주어진 이름입니다.
이번에는 웹 서버, AP 서버 및 DB 서버를 예제로 빌드 할 것이라고 가정 했으므로 그룹 이름 WebServer, APServer 및 DBServer를 제공했습니다.
호스트의 IP, 이름 (이름 해상도가 가능함) 및 그룹 이름의 기타 정보를 포함하십시오. 하나의 인벤토리 파일에 여러 그룹이있는 것이 좋습니다.
로그인 정보를 포함시킬 수는 있지만 보안상의 이유로 예제에서와 같이 직접 사용자 이름 및 비밀번호 쓰기는 더 이상 사용되지 않습니다. 이번에는 샘플이기 때문에 직접 작성했지만 실제적인 경우에 사용할 때는 보안 위험이 발생하지 않도록 키 파일 이름을 작성하십시오.
위에서 언급 한 Apache Construction의 경우 다음과 같은 재고 파일이 준비되었습니다.
[Webserver]
Webserver라는 그룹을 만들고 그룹에는 172.21.11.142라는 호스트가 있습니다. 이 호스트는 Root/Password라는 사용자/비밀번호로 로그인 할 것이라고 명시합니다.
플레이 북 만들기
Yaml Playbook을 설명하는 데 사용되는 YAML은 블록 구조를 표현하기 위해 계약을 사용하는 표기법입니다 (프로그래밍 언어의 () 또는
들여 쓰기는 공간으로 만 만들 수 있습니다. 시작 위치가있는 한 숫자에는 특별한 제한이 없지만, 두 개의 공간의 단위로 들여 쓰기가 종종 수행되는 것 같습니다.
Ansible에는 하이픈으로 시작하는 각 블록의 설정 정보가 포함되어 있습니다.
예를 들어, Apache를 설치하기 위해 플레이 북을 준비하는 경우 다음과 같은 최상위 플레이 북과 역할을위한 플레이 북을 만듭니다.
〇 탑 레벨 플레이 북 :
---
최상위 플레이 북에서 역할 플레이 북 호출을 설정하는 것 외에도 다음 항목을 설정할 수도 있습니다.
설정 | 요약 |
---|---|
이름 | 이것은이 블록에 주어진 이름을 나타내며, 실행되면 화면에 프로세스가 성공했는지 확인하기 위해 화면에 표시되므로 이해하기 쉬운 임의의 이름을 부여합니다. |
호스트 | 인벤토리 파일에 나열된 그룹 이름을 지정합니다. 플레이 북 처리는 여기에 나열된 그룹에서 수행됩니다. 여기, WebServer라는 그룹은 인벤토리 파일에 별도로 정의되므로 이름이 나열됩니다. |
BENCE | 루트 권한을 사용하거나 특정 사용자를 사용하려면이 섹션을 참조하십시오. |
역할 | 실제 처리를 설명하는 역할 플레이 북을로드합니다. 아래 설명 된 디렉토리 구조에 "역할 플레이 북이 저장된 디렉토리의 이름을 작성하십시오. 여기에 Apache라는 디렉토리 이름이 있습니다. |
〇 롤 플레이 북 :
---
실제 처리를 정의하는 플레이 북. 사용중인 모듈과 모듈에 필요한 매개 변수가 나와 있습니다. 예를 들어 다음 항목을 설정하십시오.
설정 | 요약 |
---|---|
이름 | 이 블록에 주어진 이름을 나타내며 런타임에 프로세스가 성공했는지 화면에 표시되므로 이해하기 쉬운 임의의 이름을 부여합니다. |
yum, systemd | 사용할 모듈 이름이 나열됩니다. 설명을위한 ansible 문서 사이트 (http : //docs.ansible.com/ansible/latest/modules/modules_cate_category.html) 7301_7326 |를 보면서 사용하려는 것을 선택하십시오. 7330_7384 | 각 모듈에 필요한 매개 변수입니다. 이름 : 작동 할 서비스 이름 상태 :보고 싶은 것 예제) 상태 : 최신 상태 설치 상태 : 시작; 상태 etc |
*Ansible은 미국 및 기타 국가의 Red Hat, Inc.의 등록 상표 또는 상표입니다.
그렇지 않으면,이 컨텐츠 내에서 사용되는 제품 및 서비스의 이름은 각 회사 또는 조직의 상표 또는 등록 상표입니다.