Engineering/Ansible (10) 썸네일형 리스트형 [Ansible] 5. 변수 변수동일한 코드 구문에 입력 값에 따른 동작을 지정하고 재활용하기 위하여 playbook에서도 변수를 사용할 수 있다.변수가 선언되는 위치에 따라 그 종류가 달라지고 종류에따라 참조 우선순위가 결정된다.그룹 변수와 호스트 변수 그룹변수는 인벤토리에 정의된 호스트 그룹에서 적용시키고 사용하는 변수를 의미한다. 따라서 인벤토리에 [GROUP:vars] 형태로 선언을 해야한다. 이때 그룹변수는 해당 그룹에 한해서 참조한다. 중첩그룹도 동일하게 적용된다.호스트 변수는 그룹변수와 동일한 방식으로 선언하지만 호스트에 한하여 선언된다.만일 변수가 중복이 됐을때, 그룹변수 [web-server]web1.ex.com user=ansible1 #web1.ex.com 호스트의 변수web2.ex.com[db-server]d.. [Ansible] 4. Playbook 살펴보기 Playbook?Playbook은 앤서블에서 제공하는 변수와 모듈을 활용하여 수행할 정의한 작업을 실행하기 위한 스크립트이다. Playbook에서 실행되는 작업의 단위를 play라고 지칭한다.Playbook은 YAML 형식으로 작성되며, 정의된 작업을 순차적으로 실행한다.YAMLyaml 파일은 .yml 혹은 .yaml의 확장자를 가진다. yaml 포맷은 들여쓰기로 계층 구조를 표현한다. 이때 들여쓰기는 띄어쓰기 두칸을 권장한다. 탭 문자는 허용되지 않는다. 더보기vim을 사용한다면, .vimrc 에 아래 옵션들을 추가해보자. set expandtabset tabstop=2 탭을 입력했을때 탭이 아닌 설정한 수 만큼의 스페이스가 입력된다.yaml 파일에서 3개의 하이픈(-)은 문서의 시작을 의미하고, 문서.. [Ansible] 3. Ansible.cfg, Generating SSH key Ansible.cfg란?ansible 엔진이 ansible을 실행할 때 참조하는 설정 구성파일이다. 인벤토리 파일의 기본 위치, 관리 노드에 대한 ssh 접속 및 실행 권한 설정 등등 많은 설정들을 포함하고 있다. 이 파일은 여러 경로에 위치할 수 있으며, ansible 엔진이 우선순위에따른 참조를 하여 ansible을 실행하게 된다. ansible.cfg의 우선순위1. ansible 명령어를 실행하는 현재 디렉토리에 위치한 ansible.cfg: ./ansible.cfg2. 사용자의 홈 디렉토리의 ansible.cfg: $HOME/.ansible.cfg3. /etc/ansible/ansible.cfg (default) ansible.cfg 파일을 생성하고 싶으면 아래 명령어를 입력해보자. default.. [Ansible] 2. Ansible Inventory File Inventory앤서블이 자동화 대상으로 하는 관리 노드를 지정한다. 'ini' 혹은 'yaml'을 포함한 다양한 파일 형식을 호환한다.IP나 호스트명을 선언하여 지정할 수 있고, 그룹으로 묶어 정의할 수도 있다. 이때 선언하는 호스트 명은 /etc/hosts 파일에 정의된 내용에 의존된다. Ansible Inventory directory 생성$ mkdir -p /home/ansible/inventoryInventory 작성 방법 IP를 이용한 Inventory 파일 작성$ vi /home/ansible/inventory/inventory.ini172.16.22.131172.16.22.132위와 같이 IP 기반의 대상 호스트 목록을 작성할 수 있다.호스트 명을 이용한 Inventory 파일 작성 #.. [Ansible] 1. Ansible 시작하기 Ansible이란?Ansible이란 오픈소스 IT 자동화 툴이다. Provisioning, 환경설정, Application 배포 등을 모듈과 명령어를 통해 여러서버에 동시에 적용할 수 있는 자동화 엔진이다.Ansible의 특징1. Agentless관리 대상 서버에 별도의 Agent 없이, SSH로 접속하여 관리가 가능하다. 2. 멱등성동일한 운영작업을 여러번 실행해도, 그 결과가 변하지 않는다. 3. 편리성앤서블은 비교적 간단한 구조로 구성되어 있어서 자동화 절차 및 과정을 이해하기 쉽다. 또 다양한 모듈을 제공하고 있어서 필요한 기능을 찾아 효율적으로 운영할 수 있다. 모듈 리스트: https://docs.ansible.com/ansible/2.9/modules/modules_by_category.ht.. 이전 1 2 다음