Ansible
DevOps = IaC + CI/CD
IaC(Infrastructure as Code) - 인프라를 코드로 정의
- 장점 : 인프라를 On-demand로 빠르게 띄울 수 있다. 휴먼 에러를 줄일 수 있다.
동일한 환경을 재현가능(=immutable, 불변) - 특징: 멱등성 성립(여러번 수행해도 같은 결과 나옴)
- ansible - ‘이미 구축된’ 인프라를 ‘관리’하는데 특화
ex) virt-builder를 통해 kvm 이미지를 커스터마이징 한후, 100개의 서버를 생성한후에, 이 서버들을 한꺼번에 관리 - terraform - ‘클라우드 인프라 구축’에 특화
앞으로 복사해서 사용할 VM 템플릿 생성
- 2core 2GB 20GB, 미니멀, IP: 211.183.3.100/24

- selinux , firewalld , NetworkManager 끄고 비활성화 + 레포 추가
https://eitherwho.tistory.com/29
10일차) 2025-01-09 (centos7 VM 초기 설정) ♨
초기 셋팅앞으로 centos7 VM을 설정하면 이렇게 3개의 초기 셋팅하기!1. 방화벽 off[root@web ~]# systemctl stop firewalld [root@web ~]# systemctl disable firewalld2. 셀리눅스 off셀리눅스가 활성화 되어있으면, 나중에
eitherwho.tistory.com
- update + epel-release 설치
[root@cent-tem ~]# yum update -y && yum install -y epel-release
- 설정 → 셧다운 → Manage → Clone → 풀클론으로 생성






# 앤서블은 server-client 구조는 아니다. 역할군이 딱 정해져있는게 아니라, managed node들에게 ssh로 앤서블 명령만 전달할 수 있으면 어디가 됐던 control node가 될 수 있다.
ansible 노드 구성

- m1, m2, control_node ip 지정
vi /etc/sysconfig/network-scripts/ifcfg-ens32
control_node: 211.183.3.200
m1:211.183.3.210
m2: 211.183.3.220
systemctl restart network
systemctl enable network
- 컨트롤노드 호스트네임
[root@cent-tem ~]# hostnamectl set-hostname control_node
- m1의 호스트네임

- m2의 호스트네임

- 컨트롤노드에서 m1, 2에 통신되는지 확인

- 컨트롤 노드에 ansible 설치
[root@control_node ~]# yum install -y epel-release
[root@control_node ~]# yum install -y ansible
[root@control_node ~]# ansible --version
- 두 대의 관리 당할 서버 추가
[root@control_node ~]# vi /etc/ansible/hosts
- /etc/ansible/hosts: /etc/hosts에서 DNS 목록과 유사

- 인벤토리: 서버의 목록

# 위의 인벤토리에 속한 두대의 서버(m1, m2)에 ansible 명령을 전달


- ssh 접속이 성립 안함

# ssh 접속이 성립 안함 → 키페어를 나눠갖거나, 암호를 통해 인증하지 않았기 때문
- control_node = ssh client(프라이빗키)
- m1, m2 = ssh server(퍼블릭키)

- 암호로 인증을 하겠다는 옵션
[root@control_node ~]# ansible all -m ping -k
# -k(= --ask-pass): 암호로 인증을 하겠다는 옵션

# 연결성을 테스트하는 모듈: icmp 패킷을 보내는 프로토콜이 아니라 ping 요청에 대해 pong을 반환하는 모듈
'AWS Cloud School 8기 > Ansible' 카테고리의 다른 글
47일차) 2025-03-07(ubuntu template, ansible) (0) | 2025.03.07 |
---|---|
46일차) 2025-03-06(Ansible node, 모듈, 멱등성) (0) | 2025.03.06 |