본문 바로가기

Ansible3

[Ansible Playbook] default 필터 사용하기

Jinja2는 유용한 "default" 필터를 제공한다. 이는 변수가 not defined일 경우 실패 처리 하지 않고 기본 값을 사용하도록 도와준다. - name: set some_variable set_fact: some_variable: "{{ some_variable|default(5) }}" "some_variable"의 값이 정의되어 있지 않다면 default 값인 5를 사용하게 된다. 그리고 변수의 값으로 평가된 값이 false이거나 빈 문자열인 경우 default 값을 사용하려면 두 번째 파라미터로 true를 세팅해야 한다. - name: default filter test hosts: localhost gather_facts: false tasks: - set_fact: user_id: .. Ansible 2023. 2. 9.

[Ansible Playbook] include_role, tasks_from, include

(1) include_role은 Ansible에서 다른 롤(role)을 포함하여 사용하는 기능이다. 롤은 Ansible의 구성 요소로, 일련의 작업, 구성, 설정을 정의한 것으로 특정 목적을 위한 반복 사용 가능한 구성 코드이다. include_role을 사용하면 기존에 작성한 또는 사용 가능한 다른 롤을 현재 플레이북에 포함할 수 있다. 이는 롤의 내용을 중복하지 않고 코드의 재사용성을 높이며, 플레이북의 구조적인 정리와 가독성을 향상시킬 수 있다. include_role의 구문은 다음과 같다: - include_role: name: role_name (2) include_role의 tasks_from 옵션은 Ansible에서 롤을 포함할 때, 포함할 롤에서 실행할 태스크를 선택하는 기능이다. task.. Ansible 2023. 2. 8.

YAML 들여쓰기 이해하기

앤서블 플레이북(Ansible Playbook)을 작성할 때 들여 쓰기에 대해서 명확하기 이해하기 위해 정리해 본다. 우선 하이픈("-")의 유무에 따라 있는 경우는 리스트, 없는 경우는 딕셔너리로 이해하면 된다. 그리고 문자열 다음에 콜론(":")이 있으면 딕셔너리로 취급된다.s즉 하이픈은 데이터 타입을 결정하는 것이고 중요한 것은 들여 쓰기 깊이이다. 아래 두 yaml은 같은 데이터 구조를 가지게 된다. fruits1: - Apple - Banana - Orange >>> fruits2: - Apple - Banana - Orange fruites1, furites2는 하이픈 없이 시작했으니 딕셔너리이고, "Apple", "Banana", "Orange"는 하이픈으로 시작했으니 리스트 타입이다. 그리.. Ansible 2023. 2. 8.
반응형