1 분 소요

Ansible 수업 정리

├── 1. 기본 개념
│ ├── 제어 노드(Control Node)
│ │ ├── Ansible 설치
│ │ ├── 관리노드 연결 (SSH)
│ │ └── Python 설치 필요 없음
│ └── 관리 노드(Managed Node)
│ ├── SSH 설치
│ ├── Python 설치(2.6+, 3.5+)
│ └── Ansible 설치 불필요
│ ├── 2. 주요 용어
│ ├── Inventory
│ ├── Playbook
│ │ └── Play(작업 집합) + Task
│ ├── Module │ ├── Role (구조화)
│ └── Ad-hoc (임시 단일 명령)
│ ├── 3. ansible.cfg 우선순위
│ ├── 1. 환경변수 (ANSIBLE_CONFIG)
│ ├── 2. 현재 디렉터리 ansible.cfg
│ ├── 3. 홈 디렉터리
│ └── 4. /etc/ansible/ansible.cfg
│ ├── 4. 인벤토리 파일
│ ├── 위치: /etc/ansible/hosts
│ ├── INI, YAML 포맷
│ ├── 그룹: all, ungrouped
│ ├── 예시 구성
│ │ ├── [webservers]
│ │ ├── [appservers]
│ │ └── [web_app_servers:children]
│ └── 그룹별 조회 명령어
│ ├── 5. SSH 키 기반 인증
│ ├── 키 생성 (ssh-keygen)
│ ├── 키 복사 (ssh-copy-id)
│ ├── sudoers 설정 (NOPASSWD)
│ └── ansible.cfg에 private_key_file 지정
│ ├── 6. Ad-hoc 명령어 구조
│ ├── 기본 구조
│ │ ansible [패턴] -m [모듈] -a [인자]
│ ├── 주요 예시
│ │ ├── user 생성
│ │ ├── 명령(command) 실행
│ │ └── 셸(shell) 명령 실행
│ └── 옵션 │ ├── -u, -b, -k
│ ├── –become-method, –become-user
│ └── –ask-become-pass
│ ├── 7. 실습 가이드
│ ├── 기본 인벤토리 파일 수정
│ │ ├── servera, serverb, serverc 추가
│ │ └── 그룹(webservers, appservers, web_app_servers) 구성
│ ├── user 사용자 생성 및 키 전달
│ │ ├── user 추가 (UID 2000)
│ │ ├── 키 생성 (key-with-pass)
│ │ ├── 관리 노드에 키 추가 (authorized_key)
│ │ └── user로 SSH 로그인 및 ping 확인
│ ├── motd 파일 수정
│ │ ├── lineinfile 모듈
│ │ └── copy 모듈
│ └── 연습 흐름 전체
│ ├── 8. 트러블슈팅
│ ├── 기본 키 파일 사용 문제
│ │ ├── ~/.ssh/id_rsa 자동 검색
│ │ ├── 다른 키 파일 사용 시 명시 필요
│ ├── SSH 연결 문제
│ │ ├── 방화벽(firewalld) 상태 확인
│ │ ├── sshd 서비스 상태 확인
│ │ └── /etc/ssh/sshd_config 수정 (PasswordAuthentication yes)
│ └── sudo 패스워드 문제
│ ├── sudoers 수정
│ └── ansible.cfg에서 설정 관리
│ └── 9. 최종 흐름 요약
├── 제어노드 준비
├── 관리노드 준비
├── 키 기반 인증
├── Ad-hoc 실습
├── 플레이북 작성
└── 트러블슈팅

태그:

카테고리:

업데이트:

댓글남기기