nayoungs
항상 끈기있게
nayoungs
  • 분류 전체보기 (274)
    • Cloud (21)
      • AWS (15)
      • Azure (3)
      • NCP (2)
      • GCP (1)
    • DevOps (68)
      • Docker (16)
      • Kubernetes (50)
      • CICD (2)
    • IaC (25)
      • Ansible (17)
      • Terraform (8)
    • Certification (4)
    • 금융 IT (5)
    • AI (3)
    • Linux (47)
    • 미들웨어 (5)
    • Programming (7)
      • GoLang (3)
      • Spring (4)
    • CS (25)
      • 네트워크 (17)
      • 운영체제 (5)
      • Web (1)
      • 개발 상식 (2)
      • 데이터베이스 (0)
    • Algorithm (59)
      • 프로그래머스 (36)
      • 백준 (18)
      • 알고리즘 정리 (5)
    • ETC (5)

블로그 메뉴

  • 홈
  • 방명록

공지사항

인기 글

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
nayoungs

항상 끈기있게

IaC/Ansible

[Ansible] Ansible 명령어 옵션

2022. 4. 13. 23:04
728x90

📌INDEX

  • Ansible 옵션
  • ansible-config 명령
  • 모듈
  • ad-hoc 명령



✔️ Ansible 옵션

SSH 접속 옵션

  • -u REMOTE_USER, --user REMOTE_USER : SSH 접속 계정(기본: 현재 사용자)
  • -k, --ask-pass : 옵션 사용 SSH 패스워드 인증
    • 옵션 사용하지 않으면 --> SSH 키 인증

ansible의 기본 인증 방법: SSH 키 인증

 

권한 상승 옵션

  • -b, --become : 권한 상승
    • 옵션 사용하지 않으면 --> 권한상승 하지 않음
  • --become-method <sudo|su>
    • sudo: 기본값
    • su
  • --become-user : 어떤 사용자?
    • root: 기본값
  • -K, --ask-become-pass : sudo 패스워드 묻기
    • 옵션 사용하지 않으면 --> Passwordless sudo

 

설정 파일

  • 설정 파일로 설정하기
[defaults]
remote_user=<SSH_USER>
ask_pass=<True|False>
host_key_checking=<True|False>

[privilege_escalation]
become=<True|False>
become_ask_pass=<True|False>
become_method=<sudo|su>
become_user=<SUDO_USER>
  • ask_pass 기본값: false
  • host_key_checking 기본값: true
  • become 기본값: false
  • become_ask_pass 기본값: false
  • become_method 기본값: sudo



✔️ ansible-config 명령

  • ansible-config 명령으로 설정 파일을 검증, 확인할 수 있음
  • 해당 명령으로 디버깅도 가능

 

ansible-config list

ansible-config list
  • 설정 가능한 모든 항목 표시
  • [문서](Ansible Configuration Settings — Ansible Documentation)랑 동일한 내용

 

ansible-config dump

ansible-config dump
  • 모든 설정의 기본 값 및 변경 값 표시(항목 확인)
  • 초록색 : 이상 없고 변경 사항 없을 때
  • 노란색 : 변경 되었을 때
  • 빨간색 : 실행이 안되었을 때, 문제가 있을 때

 

ansible-config view

  • 현재 적용되는 설정 파일의 내용 표시
[vagrant@controller ~]$ ansible-config view
[defaults]
inventory=./inventory.ini



✔️ 모듈

  • 모듈 목록 확인
  • 모듈 목록
ansible-doc -l
  • 모듈 상세 정보
ansible-doc <MODULE_NAME>



✔️ ad-hoc 명령

ansible <HOST_PATTERN> -m <MODULE> -a <PARAMETER>
  • 호스트 패턴을 지정할 수 있음
  • 정규화 표현식 지정 가능
  • [패턴 확인](Patterns: targeting hosts and groups — Ansible Documentation)
  • 메타문자를 사용할 때는 홑 따옴표(')로 감싸주기

 

예시

  • 아래 인벤토리 파일로 진행
[vagrant@controller ~]$ cat inventory.ini
192.168.100.11
192.168.100.12

[web]
weba
webb

[db]
weba
dba
dbb
[vagrant@controller ~]$ ansible '192.168.100.*' --list-hosts
  hosts (2):
    192.168.100.11
    192.168.100.12
[vagrant@controller ~]$ ansible 192.168.100.11,192.168.100.12 --list-hosts
  hosts (2):
    192.168.100.11
    192.168.100.12
  • 합집합
[vagrant@controller ~]$ ansible web:db --list-hosts 
  hosts (4):
    weba
    webb
    dba
    dbb
  • 교집합
[vagrant@controller ~]$ ansible 'web:&db' --list-hosts 
  hosts (1):
    weba
  • 차집합
[vagrant@controller ~]$ ansible 'web:!db' --list-hosts
  hosts (1):
    webb

but, 패턴은 문제 발생 소지가 있으므로 되도록이면 사용하지 않는 것이 좋음

교집합과 같은 경우도 차라리 그룹을 새로 생성하는 것이 좋음

 

 

 

728x90
저작자표시 (새창열림)
    'IaC/Ansible' 카테고리의 다른 글
    • [Ansible] Ad-Hoc으로 WordPress 구성부터 원복까지
    • [Ansible] Ansible SSH Jump : Public Bastion to Private Instance
    • [Ansible] Ansible 구성(Configuration) 파일 및 권한 설정
    • [Ansible] 정적 인벤토리 ini, yaml 작성 및 확인
    nayoungs
    nayoungs
    안되면 될 때까지

    티스토리툴바