본문 바로가기

전체 글

(29)
[Ansible] 7. Ansible Facts 활용 Ansible Facts팩트는 Ansible이 관리 호스트의 자원 정보를 수집한 변수를 뜻한다. 팩트 변수에는 아래와 같은 정보들이 포함된다.호스트 이름커널 버전네트워크 인터페이스OS 버전CPU 정보메모리 정보HDD 정보이 처럼 활용성 높은 많은 정보를 수집하여 운용자는 제어 노드를 관리할 수 있다. 간단한 플레이북을 통해 팩트 변수를 살펴본다.[root@Ansible-Controller playbook]# cat print_facts.yml ---- name: ansible facts hosts: node1 gather_facts: True tasks: - name: Print Facts ansible.builtin.debug: var: ansible_facts     하지만 ..
[Ansible] 6. Ansible Vault 인벤토리 파일이나 플레이북에 passwd, api 키 값, token 값 등 텍스트로 관리되서는 안되는 데이터들이 포함될 수 있다. 앤서블은 ansible vault 기능을 제공하여 암호화를 가능케한다.암호화된 파일 만들기파일 생성 단계부터 ansible-vault create 명령어를 이용하여 암호화된 파일을 생성할 수 있다.[root@Ansible-Controller ansible]# ansible-vault create vault_ex.ymlNew Vault password: Confirm New Vault password: [root@Ansible-Controller ansible]# cat vault_ex.yml $ANSIBLE_VAULT;1.1;AES256663565336630656435..
[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..