Ansible 소프트웨어는 앤서블을 실행할 하나 이상의 제어 노드에만 설치하면 된다.
제어 노드는 linux나 unix가 되어야 하며, windows는 관리 호스트가 될 수 있다.
ansible controller(server1) , ansible client1(server2), ansible client2(server3)
- 가상머신 3개 모두 같은 스펙으로 생성.
server1은 제어노드, server2,server3는 관리 호스트
ram:2G
CPU:1개
disk:20G
hostname: server1(2,3).example.com
nic1(host-only) 고정ip
윈도우 서버에서도 똑같이 설정해줘야함.
nic2(nat)- 동적ip
* vim 없으면 설치
yum -y install vim vim-common
* ansible 설치(제어노드에만)
yum search ansible
yum install epel-release
yum list ansible
yum -y install ansible
ansible localhost -m ping
현재 repo로는 ansible 설치가 불가능하므로 ansible설치를 위한 epel repository 추가.
* /etc/hosts 추가
192.168.100.x server1.example.com server1 s1
192.168.100.x server2.example.com server2 s2
192.168.100.x server3.example.com server3 s3
* ansible 관리자 - devops 계정 생성 (sudo 권한 - 암호없이 root 권한 가지도록 설정)
[devops@server1 ~]$ sudo echo 'devops ALL=NOPASSWD: ALL' >> /etc/sudoers
-bash: /etc/sudoers: 허가 거부
[devops@server1 ~]$ su -
암호:
server1 ~:# echo 'devops ALL=NOPASSWD: ALL' >> /etc/sudoers
server1 ~:# cat /etc/sudoers | grep devops
devops ALL=NOPASSWD: ALL
server1 ~:# su - devops
[devops@server1 ~]$ useradd test1
useradd: Permission denied.
[devops@server1 ~]$ sudo useradd test1
[devops@server1 ~]$ sudo userdel test1
* server1에서 ansible 관리 호스트를 등록해줘야함.
vim /etc/ansible/hosts
server2.example.com 추가
server3.example.com 추가
*연결되었는지 확인
ansible server2.example.com -m ping -u devops --ask-pass
--ask-pass=no가 기본으로 설정되어 있어서 붙여줘야한다.
공개키등록을 하면 안붙여줘도 됨.
'Ansible' 카테고리의 다른 글
[Ansible] 인벤토리, 구성 파일 관리 (0) | 2021.05.24 |
---|---|
[Ansible] ansible 개요 (0) | 2021.05.22 |
[Ansible] 공개키 등록 (0) | 2021.05.20 |