본문 바로가기

클라우드/앤서블(Ansible)

앤서블 Ansible 구성파일 / 관리노드 연결

# 구성 파일

  /etc/ansible/ansible.cfg  주석 # (샵) ; (세미 콜론)

변형된 INI 형식을 사용한다

 

# Ansible 구성 파일 우선 순위

1) ANSIBLE_CONFIG 환경 변수

2) 현재 디렉토리의 ansible.cfg

3) 홈 디렉토리의 ~/.ansible.cfg

4) /etc/ansible/ansible.cfg

 

 

설정 파일 /etc/ansible/ansible.cfg

 

설정 파일 /etc/ansible/ansible.cfg  ->  홈 디렉토리의 ~/.ansible.cfg

 

설정 파일  홈 디렉토리의 ~/.ansible.cfg ->  현재 디렉토리의 ansible.cfg

 

설정 파일 현재 디렉토리의 ansible.cfg -> ANSIBLE_CONFIG 환경 변수

 

환경변수 unset

설정 파일  ANSIBLE_CONFIG 환경 변수 -> 홈 디렉토리의 ~/.ansible.cfg

 

ansible-config view

현재 적용된 구성 파일의 내용 확인

 

ansible-config dump

현재 적용된 모든 구성 정보 확인

기본값 - 초록색 // 변경된 값 - 노란색

 

ansible-config list

설정 가능한 모든 설정 항목

 

# 일반적으로 많이 설정되는 구성 파일

[defaults] 섹션

inventory: 인벤토리 파일의 위치

remote_user : SSH 인증하기 위한 사용자(기본: 현재 사용자)

ask_pass: SSH 인증하기 위한 패스워드 요청/입력 여부(기본: false)

 

[privilege_escalation] 섹션

become : 권한 상승 여부(기본 : false)

become_method : 권한 상승 방법(기본 : sudo)

become_user : 권한 상승할 사용자(기본 : root)

become_ask_pass: 권한 상승 방법의 패스워드 요청/입력 여부(기본 : false)

 

 

# 관리 노드 연결

ansible은 현재 로그인된 사용자로 접근을 한다. ansible은 동일한 사용자를 만들어 놓아야작업하기에 편하다.

ansible은 ssh 통신으로 가능한 시스템만 하는데 키 기반 인증방식으로 한다.

키가 배포되어있지 않으면 인증받을 수 없어서 기존에 연결을 해야한다.

 

 # 키 기반 인증을 할 수 없을 때

Ansible 구성 파일에서 ask_pass = true로 설정

ansible/ansible-playbook 명령: -k 또는 --ask-pass 옵션 사용

 

 

 --ask-become-pass옵션을 사용해 패스워드 기반의 sudo사용법

ansible 구성 파일에 [privilege_escalation] --> become_ask_pass = true 설정