- Facts (사실, 객관)
: 반복문, 핸들러, 예외처리, 플레이북 모듈화, 암호화, 역할에 대해 배우고 평가 시험 진행 - Findings (배운 점)
: 반복문
- ansible은 반복작업을 위해 loop 키워드 사용 + item이라는 반복문 변수 사용
- 단순한 값 뿐만 아니라 해시 또는 사전방식도 사용 간으
- 반복문 키워드 : with_items, with_file, with_sequence등 반복문 키워드도 있음
- 반복 실행되는 작업의 출력을 캡쳐하기 위해 register 키워드 사용, 중첩 기능 지원
핸들러
- 관리 호스트를 변경하지 않고도 플레이 북과 해당 작업을 여러번 실행
- 다른 작업에서 트리거한 알림에 응답하는 작업, 작업은 관리 호스트에서 작업이 변경될 때만 핸들러에 통지
- 플레이의 다른 모든 작어비 완료된 후에 핸들러가 정확하게 한번 실행
- 핸들러는 항상 플레이의 handlers 섹션에서 지정한 순서대로 실행
- 작업이 관리 호스트를 변경할 때 추가 조치를 수행하기 위한 용도
예외처리
- 작업 실패 시 플레이를 즉시 중단
작업 오류를 관리하기 위해 사용할 수 있는 여러가지 ansible 기능 제공 ignore_errors 실패한 작업 건너 뛰기 force_handlers: yes 작업 실패 시에도 핸들러 호출 failed_when 작업이 실패했음을 나타내는 조건을 지정 fail 작업에 대한 명확한 실패 메시지 표시 가능 changed_when 변경 작업 수행에 대한 표시 제어 block 단위 설정 시 예외처리 rescue 예외처리 가능 always 항상 실행
모듈화 구성
- 작업 내용이 많은 경우 플레이북이 길어지거나 복잡해짐, 모듈화 구성 시 유지보수 및 재사용성 증대
- 변수 파일 : vars_files 혹은 include_vars 모듈 사용
- 플레이북 : 마스터 플레이북에서 가져오는 순서대로 플레이 실행
- 작업 파일 : tasks 블록에 대한 내용만 파일로 저장 및 사용 가능
- include와 import 비교
항목 include import 재사용 형식 동적 정적 처리 시점 모듈 실행 시 플레이북 파싱 시 전처리 반복문 사용 가능 불가능 태그 및 작업 목록 확인 불가능 가능 핸들러 알림 통째로 호출 파일 내의 이름 호출 가능 작업파일 가능 가능 플레이북 불가능 가능 변수파일 가능 불가능
ansible vault
- 모든 구조화된 데이터 파일을 암호화 또는 해독 가능
- 암호화 가능 대상 : 플레이북, 작업 파일, 변수 파일, 플레이북 내에서 변수 값
- 사용 시 패스워드 필요
가변 수준 암호화
- 파일 전체가 아닌 일부 값만 암호화 가능, 변수 값을 암호화 할 경우 사용
- ansible-vault encrypt_string 명령어 사용
역할
-ansible 역할은 ansible 코드를 더 쉽게 재사용 하는 방법을 제공
- 작업, 변수, 파일, 템플릿 및 기타 리소스를 표준화돈 디렉터리 구조로 패키징
- 각 플레이북에서 해당 역할을 호출해서 사용
- ansible 역할 구조 검사 : 최상위 디렉터리는 역할 자체의 이름을 정의, 하위 디렉터리는 각 파일의 목적에 따라 이름 지정
- 변수 및 값 정의 : 우선순위가 높으며 인벤토리 변수로 재정의 할 수 없음 기본 변수는 해당 값을 재정의하려는 경우에만 사용
- 플레이북에서 ansible 역할 사용 : 해당 디렉토리 구조를 순서대로 플레이북에 가져와서 사용
- 한 역할에 다른 역할을 종속성으로 포함할 수 있음
ansible galaxy
- 여러 ansible 관리자와 사용자가 작성한 공용 ansible 역할 라이브러리, 검색 기능 제공
- 키워드, 작성자, 플랫폼 및 태그를 사용하여 관련 역할 검색 가능
'GOORM' 카테고리의 다른 글
GOORM: Kubernetes-32 (0) | 2021.12.25 |
---|---|
GOORM: Kubernetes-31 (0) | 2021.12.25 |
GOORM: Kubernetes-29 (0) | 2021.12.02 |
GOORM: Kubernetes-28 (0) | 2021.12.01 |
GOORM: Kubernetes-27 (0) | 2021.11.30 |
댓글