- Facts (사실, 객관)
: 오늘은 변수및 팩트, 조건문에 대해 배우고 실습 진행 - Findings (배운 점)
: 변수 관리
- ansible 변수 : 파일 전체에서 재사용할 수 있는 값을 저장하는데 사용할 수 있는 변수를 지원
- 변수에 포함 할 수 있는 값 : 생성할 사용자, 설치할 패키지, 다시 시작할 서비스, 제거할 파일, 인터넷에서 검색할 아카이브
- 변수이름 지정 : 문자로 시작, 문자, 숫자, 밑줄만 포함
- 전역 범위 : 명령줄 또는 ansible 구성에서 설정한 변수
- 플레이 범위 : 플레이 및 관련 구조에서 설정한 변수
- 호스트 범위 : 인벤토리, 팩트 수집 또는 등록된 작업별로 호스트 그룹 및 개별 호스트에서 설정한 변수
- 우선순위는 전역 > 플레이 > 호스트
- 배열 형식의 변수 사용, 사용 시 . 표기법 혹은 대괄호 표기법 사용
- register 문을 사용하여 명령 출력을 캡쳐
플레이북의 변수
- 플레이북 시작 위치에 있는 vars 블록에 변수를 배치
- 외부 파일에 플레이북 변수를 정의
- 변수 이름을 이중 중괄호 {{}}로 묶어 변수 참조
- 변수를 첫번째 요소로 사용하는 경우 따옴표를 반드시 지정
호스트 변수 및 그룹 변수
- 호스트 변수가 그룹 변수보다 우선, 플레이북에서 정의한 변수가 이 두 변수보다 우선, 인벤토리 파일에 직접 설정 가능하지만 권장하지 않음
- 작업 디렉토리에 group_vars 및 host_vars의 두 개 디렉토리를 생성
- 호스트 이름 및 그룹 이름으로 파일 생성 후 변수 정의
ANSIBLE 팩트 설명
- ansible facts는 ansible이 관리 호스트에서 자동으로 검색한 변수
- 관리 호스트의 상태 확인 및 상태에 따른 조치를 결정하기 편리한 방법
- 일반적으로 첫번째 작업 이전에 setup 모듈을 자동으로 실행
팩트 수집 끄기
- gather_facts 키워드를 no:로 설정해서 비활성화 가능
- 비활성화 하는 경우 : 플레이 속도 향상, 관리 호스트에서 부하 감소, 모듈 실행이 힘들거나 사전 요구 사항 구성이 안됐을 경우
사용자 지정 팩트 만들기
- 관리자는 각 관리 호스트에 로컬로 저장된 사용자 지정 팩트 생성 가능
- 관리 호스트에서 setup 모듈이 실행될 때 수집되는 표준 팩트 목록으로 통합
- 관리 호스트에서 플레이의 동작 조정에 사용 가능한 임의의 변수를 ansible 에 제공
- INI 파일로 또는 JSON을 사용하여 형식이 지정된 정적 파일에 정의
매직 변수 사용
- 팩트가 아니거나 setup 모듈을 통해 구성되지 않지만, ansible에 의해 자동 설정
- 특정 관리 호스트에 고유한 정보를 얻는데 유용
- 종류 : hostvars, group_names, groups, inventory_hostname
조건문
- 특정 조건을 충족하는 작업 또는 플레이를 실행 관리 호스트 감의 차이점을 구분하고 충족된 조건에 따른 기능 역할 할당
- 조건문 작성 시 when 구문을 사용, 조건 만족 시 해당 작업을 실행
- when은 모듈 구성이 아니므로 모듈과 동일한 레벨에서 선언
- when 키워드를 작업 이름, 모듈, 모듈 인수 뒤에 배치, 논리 연산자 AND/OR 사용 가능
- 블록 단위의 처리 기능 제공 (예외처리 기능 지원)
'GOORM' 카테고리의 다른 글
GOORM: Kubernetes-31 (0) | 2021.12.25 |
---|---|
GOORM: Kubernetes-30 (0) | 2021.12.06 |
GOORM: Kubernetes-28 (0) | 2021.12.01 |
GOORM: Kubernetes-27 (0) | 2021.11.30 |
GOORM: Kubernetes-26 (0) | 2021.11.29 |
댓글