Ansible 구성 파일
Ansible 구성 파일은 Ansible의 작동 방식을 구성하는 파일입니다. Ansible 구성 파일에는 인벤토리 파일의 위치, 관리 노드에 연결하는 방법, 연결한 후의 작동 방법 등 무수히 많은 구성을 지정할 수 있습니다. 기본 Ansible 구성 파일의 위치는 /etc/ansible/ansible.cfg 이며, 변형된 INI 형식을 사용합니다.
◆ 변형된 INI 형식
- 주석이 줄 처음부터 시작할 때 : #과 ; 모두 주석 표시에 사용 가능
- 일반 값과 함께 주석을 사용할 경우 : only ; 만 사용 가능
1. Ansible 구성 파일 우선 순위
우선 순위가 높은 파일에 정의된 값이 이전에 정의된 값보다 우선합니다. 즉, 이미 정의된 값이 있더라도 그보다 우선 순위가 높은 파일에 정의된 값으로 적용됩니다.
구성 파일의 우선 순위는 다음과 같습니다.
① ANSIBLE_CONFIG 환경 변수
② 현재 디렉토리의 ansible.cfg
③ 홈 디렉토리의 ~/.ansible.cfg
④ /etc/ansible/ansible.cfg
현재 적용되는 구성 파일 확인
ansible --version
2. Ansible 작동 방식 제어 우선 순위
Ansible 작동 방식을 제어하기 위해 Ansible 구성 파일 외에도 ansible 명령의 옵션, 플레이북 키워드, 변수를 이용해 동작을 제어할 수 있습니다.
다음은 작동 방식 제어를 위한 카테고리의 우선 순위입니다.
① -e 옵션에 지정한 변수
② 변수
③ 플레이북 키워드
④ 명령의 옵션
⑤ Ansible 구성 파일
3. 일반적인 구성 파일 설정
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
- [defaults] 섹션
- inventory : 인벤토리 파일의 위치 (default : /etc/ansible/ansible.cfg)
- remote_user : SSH 인증하기 위한 사용자 (default : 현재 사용자)
- ask_pass : SSH 인증하기 위한 패스워드 요청 / 입력 여부 (default : false)
- [privilege_escalation] 섹션
- become : 권한 상승 여부 (default : false)
- become_method : 권한 상승 방법 (default : sudo)
- become_user : 권한 상승할 사용자 (default : root)
- become_ask_pass : 권한 상승 방법의 패스워드 요청 / 입력 여부 (default : false)
4. 구성 파일 및 설정 확인
구성 파일은 직접 확인하는 방법도 있지만 ansible-config 명령을 이용해 구성 파일 및 설정에 대해 확인할 수 있습니다.
1) 현재 적용된 구성 파일의 내용 확인
ansible-config view
2) 현재 적용된 모든 구성 정보 확인
ansible-config dump
◆ 출력컬러
- 기본 값 : 초록색
- 변경된 값 : 노란색
3) 설정 가능한 모든 설정 항목
ansible-config list
◆ 설정 가능한 모든 설정 항목
[Ansible Configuration Settings - Ansible Documentation]
https://docs.ansible.com/ansible/latest/reference_appendices/config.html
'IaC > Ansible 이론' 카테고리의 다른 글
Ansible 모듈 및 플러그인 | 모듈 종류, 플러그인 종류, 확인 (0) | 2021.07.28 |
---|---|
Ansible 관리 노드 연결 | 인증, SSH, 권한 상승, 연결 플러그인 (0) | 2021.07.28 |
Ansible 인벤토리(Inventory) | 정적 인벤토리, 동적 인벤토리, INI, YAML, 패턴 (0) | 2021.07.28 |
Ansible 설치 | 설치 전 요구사항, 명령 쉘 자동 완성, Ansible Lint 설치 (0) | 2021.07.28 |
Ansible 개요 | 개념, 특징, 용어, 구조(아키텍처) (0) | 2021.07.28 |