본문 바로가기
GOORM

GOORM: Kubernetes-29

by hxunz 2021. 12. 2.
  1. Facts (사실, 객관)
    : 오늘은 변수및 팩트, 조건문에 대해 배우고 실습 진행

  2. 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

댓글