소개
지난 3 번, 우리는 Ansible 환경 구성, 플레이 북 작성 방법 및 Ansible을 사용하여 환경 구조를 소개했습니다. 그러나 CUI를 사용하여 운영되었으므로 잘하지 못한 사람들이있을 수 있습니다.
이 네 번째 기사에서는 이전에 소개 된 4 개의 Ansible 라인업 중 GUI 도구의 실행 환경을 구축하고 실행하는 방법을 간략하게 소개합니다.
OSS 버전 (AWX) 및 상업용 버전 (Ansible Tower)은 거의 동일 하므로이 기사는 OSS 버전 (AWX)을 사용합니다. 또한 무료 Redhat OS 인 CentOS7에 설치하는 단계도 소개합니다.
AWX 환경 구축
AWX 환경을 구축하려면 GitHub (소스 코드 공유 서비스)에 제공된 플레이 북을 사용하여 Docker 환경의 컨테이너 형태로 구축해야합니다. 이러한 이유로, 당신은 미리 Ansible과 Docker를 설치해야합니다. 편안한 작동을 위해서는 설치 환경에서 최소 4 개의 CPU 코어를 갖는 것이 바람직하지만 요구 사항을 충족하지 않더라도 작동합니다.
이 기사는 AWX 환경 구축에서 AWX를 사용하여 Apache 설치에 이르기까지 최소한의 단계를 소개합니다. 실제로 사용하기 위해서는 사용자 설정 등을 구현하는 것이 바람직하지만 작업을 수행하지 않고 작동 할 수 있으므로 이번에는 생략되었습니다.
3-2 및 3-3은 CUI 버전을 사용하여 두 번째 인벤토리 파일의 2 번째 할부에서 생성되며 테이블의 3-4는 최상위 플레이 북을 만드는 것과 같습니다.
아니요 | 작업 품목 | 작업 요약 |
---|---|---|
1 | Ansible, Docker 설치 | Ansible, Docker를 AWX를 구축하는 데 필요한 사전 준비로 Docker를 설치하십시오 |
2 | AWX 설치 | Ansible을 크레이지 슬롯 Docker에서 AWX 컨테이너 시작 |
3-1 | 등록 "프로젝트" | 이미 생성 된 플레이 북이 어디에 있는지 알리십시오 |
3-2 | 등록 "인증 정보" | 대상 서버/장치에 로그인하는 방법 설정 |
3-3 | 등록 "인벤토리" | 서버가 작동 할 서버 등록 및 그룹 연결 정보 |
3-4 | 등록 "작업 템플릿" | "Project", "인증", "인벤토리" |
3-5 | 등록 "워크 플로 작업 템플릿" | 순서대로 실행할 다중 "작업 템플릿"설정 |
3-6 | 건설 과정 실행 | 실행 및 빌드 |
AWX 나 Ansible 타워에는 플레이 북을 만들거나 관리하는 메커니즘이 없으므로 이미 생성 된 플레이 북이 사용되는지 여부를 지정해야합니다. PlayBook은 설치 중에 생성 된 컨테이너 내에서 생성 및 관리 할 수도 있지만 GitHub 및 GitLab (OSS 버전의 소스 코드 공유 서비스)과 같은 소스 코드 공유 및 관리를 전문으로하는 서비스 저장소에 업로드하는 것이 좋습니다.
우리는이 기사에서이를 구축하는 방법을 소개하지 않지만 별도의 gitlab 환경을 사용할 수 있습니다. 두 번째 할부에 소개 된 Apache 설치 플레이 북이 Gitlab에 업로드되었다고 가정합니다. 이번에는 Gitlab에 등록 된 플레이 북을 사용하여 AWX에 Apache를 설치하는 설정 절차를 설정합니다.
1. Ansible, Docker Installation
Ansible 은이 시리즈의 두 번째 부분을 참조하여 AWX가 설치된 서버에 설치됩니다.
Docker는 부양 가족이있는 패키지를 설치하고 yum을 크레이지 슬롯 설치 한 후 Docker에 대한 저장소를 추가합니다. Docker-CE (Community Version : Free) 또는 Docker-EE (Enterprise 버전 : 유료)로 구축하는 것은 좋습니다. 그러나 Rhel은 Docker-CE를 지원하지 않습니다. RHEL에 설치하는 경우 Docker-EE를 사용하는 것이 좋습니다.
Docker를 설치하려면 아래 표시된 명령을 실행하십시오.
(https : //docs.docker.com/install/linux/docker-ce/centos/#set-up-the-repository)
# sudo yum 설치 -y yum-utils 장치 mapper-persistent-data lvm2
* 최신 또는 테스트 버전을 사용하려면 위의 설치 명령을 실행하기 전에 다음을 실행하여 대상 Docker를 포함하는 저장소를 활성화하십시오.
# sudo yum-config-manager- enable docker-ce-edge
2. AWX 설치
Ansible 및 Docker 설치가 완료된 후 Github 리포지토리에서 AWX 환경을 구축하기위한 플레이 북을 얻고 구축하십시오.
최신 플레이 북을 얻으려면 git 클론 명령을 실행하십시오. 이로 인해 AWX라는 디렉토리가 생겨서 안내하여 Ansible-Playbook 명령을 실행하십시오. 이 경우 옵션으로 grant –e postgres_data_dir =/var/lib/pgdocker를 실행하십시오.
# git 클론 https://github.com/ansible/awx.git
*기본 설정은 Ansible In /TMP에서 생성 한 AWX의 데이터베이스에 대한 데이터 디렉토리를 만드는 것입니다. /TMP는 10 일 사이클로 청소 작업을 자동으로 수행하므로 필요한 데이터가 삭제되고 AWX가 시작될 수 없습니다. 이 옵션을 부여하면 설치 중에 데이터 디렉토리의 위치를 변경하는 데 도움이되며 문제가 해결됩니다.
설치가 완료된 후 5 개의 컨테이너가 구축됩니다 : AWX_TASK, AWX_WEB, MEMCACHED, RabbitMQ 및 Postgres. 브라우저에 설치중인 서버의 IP 주소에 액세스하는 경우 (Google Chrome 또는 Mozzila Firefox 사용) 구성중인 화면이 표시됩니다.
잠시 기다린 후 로그인 화면이 나타납니다.
초기 사용자와 비밀번호는 관리자/비밀번호입니다.
로그인하면 다음 대시 보드 화면이 나타납니다.
화면 왼쪽의 각 설정 화면 링크를 클릭하여 설정을 만드십시오.
3. AWX를 사용한 환경 건설 과정
AWX를 사용하여 환경을 구축 할 때는 먼저 다음 단계를 수행해야합니다.
순서대로 프로젝트, 인벤토리 및 인증 정보를 설정해도 괜찮습니다.
- 프로젝트 등록
- 인증 정보 등록
- 재고 등록
그 후 아래 템플릿을 등록하십시오. 템플릿 등록 프로세스에서 프로젝트, 자격 증명 및 인벤토리를 연관시킬 수 있습니다.
- 작업 템플릿 등록
- 레지스터 워크 플로 작업 템플릿
워크 플로 작업 템플릿은 프로젝트, 작업 템플릿 및 기타 워크 플로 작업 템플릿을 순서대로 실행하는 워크 플로를 만드는 데 사용됩니다.
등록이 완료되면 실행 버튼을 클릭하여 환경이 구성됩니다.
이전 다이어그램에 표시된대로 템플릿을 등록하는 네 가지 주요 방법이 있습니다.
패턴 | 예상 사용 | 사용 예 |
---|---|---|
패턴 1 | 특정 호스트 그룹에 하나의 플레이 북 조작을 수행 | Webserver Group에 Apache 설치 |
패턴 ② | 순서대로 작업 템플릿 (패턴 1)을 실행하십시오. 각 작업 템플릿에 대해 호스트 그룹을 변경할 수 있습니다 | DBSERVER GROUP, APSERVER GROUP의 TOMCAT 및 WebServer Group의 Apache에 MySQL 설치 |
패턴 ③ | 특정 호스트 그룹에서 여러 플레이 북 작업 수행 | 웹 서버 그룹에 Apache, Tomcat 및 MySQL 설치 실패한 경우 삭감 |
패턴 ④ | 패턴과 같은 워크 플로우를 실행합니다. | 검증 환경 구축을위한 워크 플로를 성공적으로 실행할 수있는 경우 생산 환경 구축을위한 워크 플로를 실행 실패하면 컷백 워크 플로를 실행합니다 |
3-1. 등록 "프로젝트"
AWX는 PlayBook을 만들거나 관리 할 수있는 기능이 없으므로 사용하려는 플레이 북이 어디에 있는지 확인하려면 설정해야합니다.
이번에는 Gitlab으로 Apache Playbooks를 관리하고 있으므로 위치를 지정하도록 설정하겠습니다.
절차는 다음과 같습니다. 등록하려는 플레이 북의 분을 반복하십시오.
1. 대시 보드 화면 왼쪽에서 "프로젝트"를 클릭하십시오.
2. 프로젝트 목록 화면에서 추가 버튼을 클릭하십시오.
3. 전환 후 화면에 필요한 정보를 입력하고 저장 버튼을 클릭하십시오.
SCM 유형으로 GIT를 선택하면 SCMURL이라는 항목이 표시되므로 GitLab의 Apache Playbook을 얻기위한 URL을 나열합니다.
이번에는 다음 정보를 입력하십시오.
항목 | value |
---|---|
이름 | 아파치 |
SCM 유형 | git |
scmurl | http : // (gitlab에서 apache.git로가는 경로) |
SCM 업데이트 옵션 | 청소 |
3-2. 등록 "인증 정보"등록
AWX에서 구축중인 각 서버의 로그인 메소드를 설정합니다.
다양한 인증 방법에서 가장 좋은 것을 선택하고 각각에 필요한 설정을 입력하십시오.
* 자격 증명 정보는 암호화되어 등록 시점에 저장되므로 나중에 비밀번호 등을 확인할 수 없습니다. 다시 등록 할 때 삭제하고 동일한 이름으로 등록해야하므로 조심하십시오.
절차는 다음과 같습니다. 등록하려는 인증 정보에 대해 몇 분 동안 반복하십시오.
1. 대시 보드 화면 왼쪽에서 "인증 정보"를 클릭하십시오.
2. 자격 증명 정보 목록 화면에서 추가 버튼을 클릭하십시오.
3. 전환 후 화면에 필요한 정보를 입력하고 저장 버튼을 클릭하십시오.
이번에 Apache를 사용하는 서버는 사용자 이름과 비밀번호를 입력하여 인증됩니다. 따라서 자격 증명 유형에서 시스템을 선택하고 사용자 이름과 비밀번호를 입력하십시오.
항목 | value |
---|---|
이름 | 웹 서버 |
인증 정보 유형 | machine |
사용자 이름 | 루트 |
비밀번호 | 비밀번호 |
* 키 파일을 인증 할 때는 기계를 선택해야합니다.
3-3. "인벤토리"등록
플레이 북을 실행할 서버를 설정하고 어떤 조건에서든 설정하십시오. 동일한 처리를 수행하는 그룹화 및 연결에 개별적으로 필요한 설정을 입력하십시오.
절차는 다음과 같습니다. 등록하려는 인증 정보에 대해 몇 분 동안 반복하십시오.
1. 대시 보드 화면 왼쪽에서 "인벤토리"를 클릭하십시오.
2. 인벤토리 목록 화면에서 추가 버튼을 클릭하고 인벤토리를 선택하십시오.
3. 전환 후 화면에서 인벤토리에 제공 될 이름을 입력하고 저장 버튼을 클릭하십시오.
이번에는 다음을 재고 이름으로 사용할 것입니다 :
스크린 | 항목 | value |
---|---|---|
새로운 재고 | 이름 | MyHosts |
4. 저장되면 그룹 버튼을 누를 수 있으므로 클릭하십시오.
5. 전환 후 화면에서 그룹 추가 버튼을 클릭하십시오.
6. Group Create 화면에 그룹 이름을 입력하고 저장 버튼을 클릭하십시오.
이번에는 Apache가 Webserver Group에 속하는 서버에 설치되므로 다음을 그룹 이름으로 등록하십시오.
스크린 | 항목 | value |
---|---|---|
그룹 만들기 | 이름 | 웹 서버 |
7. 저장되면 호스트 버튼을 누를 수 있으므로 클릭하십시오.
8. 전환 후 화면의 추가 버튼을 클릭하고 새 호스트를 선택하십시오.
9. 호스트 생성 화면에 호스트 정보를 입력하고 저장 버튼을 클릭하십시오.
필요한 그룹과 호스트에 대해 5-9를 반복하십시오.
이번에는 하나의 장치 만 사용할 계획이므로 Webserver Group에서 작동 할 서버를 등록합니다. 다음 설정 만들기 :
스크린 | 항목 | value |
---|---|---|
호스트 생성 | 이름 | IP 주소 |
3-4. 등록 "작업 템플릿"
이들은 지금까지 등록 된 프로젝트, 자격 증명 및 인벤토리와 관련이 있으며 템플릿이라고합니다.
특정 호스트 그룹의 단일 플레이 북을 실행할 때 작업 템플릿을 사용하십시오. 플레이 북에서 변수를 사용하는 경우 작업 템플릿 설정에서 변수 값을 정의 할 수도 있습니다.
절차는 다음과 같습니다. 등록하려는 작업 템플릿 수를 반복하십시오.
1. 대시 보드 화면 왼쪽의 연필 아이콘을 클릭하십시오.
2. 추가 버튼을 클릭하고 작업 템플릿을 선택하십시오.
3. 전환 후 화면에 필요한 정보를 입력하고 저장 버튼을 클릭하십시오.
돋보기 아이콘을 클릭하여 표시된 목록에서 인벤토리, 프로젝트 및 인증 정보를 선택할 수 있습니다. 플레이 북과 관련하여 프로젝트를 선택하면 드롭 다운 목록에 이름이 표시되므로 선택하십시오.
여러 그룹이 하나의 인벤토리에 등록되면 한계 프레임 내에 그룹 이름을 작성하여 실행 대상을 좁힐 수 있습니다.
지금까지 등록한 정보를 기반으로 다음 설정을 입력하십시오.
항목 | value |
---|---|
이름 | ApacheInstall |
재고 | MyHosts |
프로젝트 | 아파치 |
플레이 북 | site.yml |
인증 정보 | 웹 서버 |
Limit | 웹 서버 |
선택 사항 | 권한 에스컬레이션 활성화 |
3-5. 등록 "워크 플로 작업 템플릿"
여러 플레이 북, 여러 작업 템플릿을 자동으로 실행하고 이미 순서대로 워크 플로우를 생성하거나 이전 작업이 성공했는지 여부에 따라 실행될 프로세스를 변경하려면 워크 플로 작업 템플릿을 설정할 수도 있습니다.
이번에는 이전 단계에서 작성된 작업 템플릿을 워크 플로 작업 템플릿에 등록하는 단계를 소개합니다. 단계는 다음과 같습니다.
1. 대시 보드 화면 왼쪽의 연필 아이콘을 클릭하십시오.
2. 추가 버튼을 클릭하고 워크 플로 작업 템플릿을 선택하십시오.
3. 전환 후 화면의 워크 플로 작업 템플릿에 제공 될 이름을 입력하고 저장 버튼을 클릭하십시오.
다음 설정을 입력하십시오.
스크린 | 항목 | value |
---|---|---|
새로운 워크 플로 작업 템플릿 | 이름 | Install-Web |
* 일련의 프로세스에서 공통 변수를 크레이지 슬롯려면 워크 플로 작업 템플릿 설정 화면에서 값을 정의 할 수 있습니다.
4. 저장 후 워크 플로 시각화를 선택할 수 있으므로 클릭하십시오.
5. 시작 상자를 클릭하여 빈 상자를 표시하십시오. 동시에 작업 템플릿을 선택할 수있는 설정 화면이 화면 오른쪽에 표시됩니다. 표시된 작업 템플릿 목록에서 필요한 항목을 선택하고 선택 버튼을 클릭하십시오. 등록이 완료되면 저장 버튼을 클릭하십시오.
이번에는 하나만 있으므로 다음 정보를 입력하십시오.
스크린 | 항목 | value |
---|---|---|
워크 플로우 영상화 화면 | 템플릿 이름 | ApacheInstall |
* 이번에는 한 가지가 있지만 필요한만큼 작업 템플릿의 등록을 반복하면 다음 워크 플로를 만들 수 있습니다.
등록 된 작업 템플릿의 상자 위에 호버링되면 녹색 + 및 빨간색 X가 나타납니다. +를 클릭하여 추가 또는 X를 삭제하려면 X를 클릭하십시오.
작업 템플릿을 선택할 때 성공 여부에 따라 작업 템플릿을 변경할 수도 있습니다. 고장시 복구 처리에 사용할 수 있습니다.
3-6. 건설 과정 실행
입력이 완료된 후 템플릿 목록 화면에서 로켓 아이콘을 클릭하여 시공 프로세스를 실행할 수 있습니다.
건물이 진행되는 동안 작업 화면의 진행 상황을 확인할 수 있습니다.
자세한 링크를 클릭하여 각 작업 템플릿의 진행 상황을 확인할 수도 있습니다. 출력 내용은 CUI 버전으로 수행 된 시점과 동일합니다.
결론
이번에는 AWX를 사용하여 구축하려고 시도했으며 최소한의 필요한 설정으로 일련의 단계를 도입했습니다. 이것은 당신이 이미 플레이 북을 만들었다고 가정하지만, CUI 버전을 꺼려하는 사람들조차도 그것을 사용할 수 있다고 생각합니다.
실제 경우 여러 사용자가 사용할 서비스를 설정하고 완료되면 통지해야합니다. AWX는 또한 이런 일을 할 수 있습니다.
실제 경우, 온-프레미스 Linux 서버 일뿐 만 아니라 VMware가있는 가상 환경을 구축하고 AWS와 같은 클라우드 환경을 다루는 것이 필요하다고 생각합니다. 이 시리즈의 다음 에피소드에서는 온-프레미스 이외의 환경을 구축하는 방법을 소개합니다.
*Ansible은 미국 및 기타 국가의 Red Hat, Inc.의 등록 상표 또는 상표입니다.
그렇지 않으면,이 컨텐츠 내에서 사용되는 제품 및 서비스의 이름은 각 회사 또는 조직의 상표 또는 등록 상표입니다.