Cloud/Ansible

[Ansible] 변수

twoDeveloper 2021. 9. 11. 17:35

■ Ansible 변수

· 파일 전체에서 재사용할 수 있는 값을 저장하는 데 사용할 수 있는 변수 지원

· 변수에 포함할 수 있는 값

   - 생성할 사용자

   - 설치할 패캐지

   - 다시 시작할 서비스

   - 제거할 파일

   - 인터넷에서 검색할 아카이브

· 변수 우선 순위

   - 전역 > 플레이 > 호스트

 

■ 변수 이름 지정

· 문자로 시작

· 문자, 숫자, _ 만 포함

 

■ Playbook 변수

1. Playbook 시작 위치에 vars 블록에 변수 배치

playbook.yml

 

실행 결과

 

2. 외부 파일에 Playbook 변수 정의

variable_file.yml

 

playbook.yml

 

실행 결과

 

☞ 변수 이름을 이중 중괄호 ({{ }})로 묶어 변수 참조

☞ 변수를 첫 번째 요소로 사용하는 경우 따옴표 반드시 지정 => "{{ }}"

 

■ 호스트 변수 및 그룹 변수

· 인벤토리 파일에 직접 설정 가능하지만 권장 x

· 작업 디렉토리에 group_vars, host_vars 두 개 디렉토리 생성 권장

1. host_vars

· host_vars 내에 host 변수 파일 생성

 

# cat host_vars/host1

 

playbook.yml

실행 결과

 

2. group_vars

· group_vars 내에 db 변수, web 변수 파일 생성

 

1) web (db 변수 파일도 다음과 같은 방법으로 생성)

# cat group_vars/web/

 

playbook.yml

 

실행 결과

 

☞ 배열을 변수로 사용 시 .(점) 표기법 혹은 대괄호 표기법 사용

 

 

'Cloud > Ansible' 카테고리의 다른 글

[Ansible] facts  (0) 2021.09.11
[Ansible] PlayBook  (0) 2021.09.10
[Ansible] AD-HOC  (0) 2021.09.10
[Ansible] Ansible 설치  (0) 2021.09.09
[Ansible] Ansible 개념  (0) 2021.09.08