구성파일 이란?
구성파일 우선 순위
작동 방식 제어 우선 순위
일반적인 구성 파일 설정
구성 파일 설정 확인
구성파일 이란?
구성 파일은 Ansible의 작동 방식을 구성하는 파일 입니다.
Ansible 구성 파일에는 인벤토리 파일의 위치, 관리 노드에 연결하는 방법, 연결 한 후 작동 방법 등 무수히 많은 구성을 지정할 수 있습니다.
기본 Ansible 구성 파일의 위치는 /etc/ansible/ansible.cfg 파일이며, 변형된 INI 형식을 사용합니다.
주석이 줄 처음부터 시작할 때 -> # or ; 모두 주석 표시에 사용 가능
일반 값과 함께 주석을 사용할 경우 -> ; 만 사용 가능
ex)
# This points to the file that lists your hosts
inventory = /etc/ansible/hosts ; This point to the file that lists your hosts
구성파일 우선 순위
구성 파일을 적용하는데는 순위가 있습니다.
우선 순위가 높은 파일에 정의된 값이 우선시된다.
구성 파일의 우선순위는 다음과 같다.
- ANSIBLE_CONFIG 환경 변수
- 현재 디렉토리의 ansible.cfg
- 홈 디렉토리의 ~/.ansible.cfg
- /etc/ansible/ansible.cfg
현재 적용되는 구성 파일의 확인은 아래와 같습니다.
$ ansible --version
작동 방식 제어 우선 순위
Ansible 작동 방식을 제어하기 위해 Ansible 구성 파일 외에도 ansible 명령의 옵션, 플레이북 키워드, 변수를 이용해 동작을 제어할 수 있습니다.
우선 순위가 높은 파일에 정의된 값이 이전 정의된 값보다 우선시됩니다.
다음은 작동 방식 제어를 위한 카테고리의 우선 순위입니다.
- -e 옵션에 지정된 변수
- 변수
- 플레이북 키워드
- 명령의 옵션
- Ansible 구성 파일
일반적인 구성 파일 설정
Ansible 구성 파일은 [section] 대괄호로 묶여진 여러 섹션(분류)가 있습니다.
각 섹션에는 키 = 값 으로 설정된 설정이 포함됩니다.
[defaults]
inventory = ./inventory.ini
remote_user = vagrant
ask_pass = false
[privilege_escalation]
become = true
become_method = sudo
become_user = root
become_ask_pass = false
[default] 섹션
- inventory: 인벤토리 파일의 위치 (기본: /etc/ansible/ansible.cfg)
- remote_user: SSH 인증하기 위한 사용자 (기본: 현재 사용자)
- ask_pass: SSH 인증하기 위한 패스워드 요청/입력 여부 (기본: false)
[privilege_escalation] 섹션
- become: 권한 상승 여부 (기본: false)
- become_method: 권한 상승 방법 (기본: sudo)
- become_user: 권한 상승할 사용자 (기본: root)
- become_ask_pass: 권한 상승 방법의 패스워드 요청/입력 여부 (기본: false)
구성 파일 설정 확인
구성 파일은 직접 확인하는 방법도 있지만 ansible-config 명령을 이용해 구성 파일 및 설정에 대해 확인할 수 있습니다.
현재 적용된 구성 파일의 내용 확인
ansible-config view
현재 적용된 모든 구성 정보 확인
ansible-config dump
설정 가능한 모든 설정 항목
ansible-config list
자세한 내용은 Ansible doc 참고
'IT > CLOUD(AWS,Azure,GCP,Docker)' 카테고리의 다른 글
[Ansible] 4 . Ansible Playbook 에서 hosts 인벤토리 파일 지정 (0) | 2023.11.19 |
---|---|
Ansible 운영 - 2. Playbook 활용 및 예제 (0) | 2023.11.19 |
앤서블 Ansible 구성파일 / 관리노드 연결 (0) | 2023.11.11 |
CentOS 7에 Ansible AWX를 설치하는 방법 (0) | 2023.11.11 |
3대의 노드에 웹서버를 설치하고 기동해보자!(centos, ansible) (0) | 2023.11.11 |