앤서블

Handler (핸들러) 작업을 실행 후 작업에 대한 변경이 있으며, notify 를 설정한 경우에만 핸들러가 실행된다. 핸들러는 notify: 로 설정한다. Ansible 공식 문서의 예제는 다음과 같다. --- - name: Verify apache installation hosts: webservers vars: http_port: 80 max_clients: 200 remote_user: root tasks: - name: Ensure apache is at the latest version ansible.builtin.yum: name: httpd state: latest - name: Write the apache config file ansible.builtin.template: src: /..
Ansbile 의 플레이북 파일을 작성할 때 조건문으로 작업을 제어할 수 있다. Ansbile에서는 when 이라는 키워드를 사용하여 조건을 걸 수 있다. 또한 비교연산자 및 키워드를 이용하여 값을 비교할 수 있다. 해당 조건문이 참이면 작업을 실행하고, 거짓이면 실행하지 않는다. 키워드 부호 의미 lt = greater or equal e =, == equal ne != not equal 1. 문자열 검사하기 해당 문자열과 일치하는지 / 포함되어 있는지 확인한다. match("PATTERN") : 패턴과 전체 문자열이 일치하는지 확인한다. Bool 값을 리턴한다. search("PATTERN") : 패턴이 문자열에 있는지 확인한다. Bool 값을 리턴한다. - hosts: ansi-node1 vars:..
Fact (팩트 변수) 란? 관리하는 노드의 정보를 가지고 있는 변수이다. 이 정보에는 운영체제, 로컬 변수, IP 주소, NIC 등의 정보가 포함된다. fact 변수는 setup 모듈을 이용해서 정보를 확인할 수 있다. Adhoc 과 플레이북을 통해 setup 모듈을 실행할 수 있다. 모든 노드들에 대한 팩트변수 내용 확인하기 ansible all -m setup 팩트 변수 이름 참조하기 setup 모듈을 이용해서 ansible_ 접두사가 붙은 지정된 변수 이름으로 참조하면 원하는 팩트변수의 정보를 얻을 수 있다. Adhoc 명령어로 팩트 변수 참조하는 예시 $ ansible ansi-node1 -m setup -a "filter=ansible_distribution” -m 옵션으로 모듈을 지정하고, ..
Ansible 이란 Ansible은 IaC 도구의 한 종류이다. 즉, 말그대로 인프라를 자동화 할 수 있는 도구이다. Ansible로 호스트들을 관리 및 구성하고, 배포를 자동화 할 수 있다. Ansible은 openSSH를 기본 전송 방법으로 사용한다. 따라서 보안과 신뢰성을 가지고 통신한다. Ansible에서는 에이전트 없이 Ansible이 바로 호스트들을 관리한다. Ansible은 절차적으로 수행된다. 작업이 정해진 순서대로 실행되어서 원하는 상태에 도달한다. IaC (Infrastructure as Code) 전통적인 인프라 환경에서는 수동으로 각각의 인프라를 구성해주어야 했다. 수동으로 관리하게 되면, 작업 속도도 느리고 사람이 수동으로 구성하다보니 실수와 같은 문제가 일어날 수 있다. 또한 비..
minjiwoo
'앤서블' 태그의 글 목록