목록클라우드/Ansible (15)
컬쥐네 다락방

AWX Ansible 위에 구축된 웹 기반의 인터페이스 목적: 실행 / 모니터링 AWX: RedHat Ansible Tower 제품의 Upstream CentOS --up--> RHEL --up--> Fedora RHEL --> CentOS Stream --> Fedora Ansible Tower --> AWX Ubuntu --> Debian AnsibleWorks -> AWX AWX 설치 Docker 설치 https://docs.docker.com/engine/install/centos/ sudo yum install -y yum-utils sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.r..
Vault 파일, 일부 텍스트를 암호화 파일 수준 플레이북 전체 변수 파일 include/import 작업 파일 텍스트 수준 변수 값 Vault Password: AES 단일 패스워드 --ask-vault-pass --vault-password-file 멀티 패스워드 --vault-id ansible-vault 명령 ansible-vault create: 암호화될 빈 파일 생성 decrypt: 암호화된 파일 복호화 edit: 암호화된 파일 수정(vi) view: 암호화된 파일 확인 encrypt: 평문 파일 암호화 rekey: Vault 패스워드 변경 encrypt_string: 텍스트 암호화ansible-vault encrypt_stringhello world[ctrl-d][ctrl-d]hello wo..
역할 https://docs.ansible.com/ansible/latest/user_guide/playbooks_reuse_roles.html#playbooks-reuse-roles 역할 생성 --> 통합 --> 플레이북 통일화된 구조 mkdir roles ansible-galaxy init common --init-path roles. └── roles └── common ├── defaults │ └── main.yml ├── files ├── handlers │ └── main.yml ├── meta │ └── main.yml ├── README.md ├── tasks │ └── main.yml ├── templates ├── tests │ ├── inventory │ └── test.yml └─..
Artifact Artefact, Artifact: 인공물 애플리케이션이 작동해서 생성한 데이터 사람이 직접 작성한 코드 파일을 용도별로 구분을 해서 재사용하기 위함 변수 파일 작업 파일 플레이/플레이북 파일 역할(Role) 변수 파일 vars_files 플레이의 키워드 - hosts: x vars_files: - vars/a.yaml tasks: ...include_vars 모듈 - hosts: x tasks: - include_vars: dir: vars/인벤토리 변수 1. 인벤토리 내부 파일에 변수 설정 호스트 변수 node1 message="hello world"그룹 변수 [wordpress] node1 node2 [wordpress:vars] message="hello world"2. 인벤토리 ..
템플릿 주석 경고의 목적으로 사용된다 ansible.cfg 언제, 누가 어떻게 작성했는지에 관한 설명을 남긴다. [defaults] ansible_managed = Ansible managed: {file} modified on %Y-%m-%d %H:%M:%S by {uid} on {host} templates/port.cnf.j2 comment 필터를 사용하면 자동으로 남기도록 설정 가능. {{ ansible_managed | comment }} [mysqld] port={{ database["svc_port"] }}
블록 블록 = 여러 작업을 묶어 놓은 그룹 블록의 기능 여러 작업에 공통의 키워드를 부여할 수 있음(ex: 조건문) block, rescue, always 블록을 이용해 오류 처리를 할 수 있음 block 블록은 항상 실행 rescue 는 block 블록의 오류가 있을 때만 실행 always 는 항상 실행 - hosts: 192.168.100.11 tasks: - block: - debug: msg: hello world - command: /usr/bin/false - debug: msg: hello world2 ignore_errors: yes rescue: - debug: msg: It's rescue always: - debug: msg: It's Always태그 작업에 태그를 부여..
조건문 https://docs.ansible.com/ansible/latest/user_guide/playbooks_conditionals.html#basic-conditionals-with-when https://docs.ansible.com/ansible/latest/user_guide/playbooks_tests.html#playbooks-tests https://docs.ansible.com/ansible/latest/user_guide/playbooks_filters.html#playbooks-filters 작업에서 when 키워드 사용, 조건을 정의 test, filter 사용 If 문을 사용한다고 보면 된다. 조건 정의시 {{ }} 중괄호 사용 X - hosts: 192.168.100.11 ..
반복문 https://docs.ansible.com/ansible/latest/user_guide/playbooks_loops.html#playbooks-loops 작업(Task)에서 loop, with_, until 반복문 구성 여기서 사용되는 item은 흔히 사용되는 for문의 i이다.(ex for i in X 또는 for int i ; ;) 리스트(목록) 반복문 리스트를 사용해 다양한 방법으로 활용할 수 있다. loop 대신, with_items, with_list - hosts: 192.168.100.11 gather_facts: no tasks: - debug: msg: "{{ item }}" with_items: - apple - banana - carrot - hosts: 192.168.10..