o Ansible를 이용한 서버 자동화 테스트를 위하여 PC 및 서버 환경 설정방법에 대한 설명입니다.
- PC에 테스트를 위해서 Virtualbox와 Vagrant를 설치하고
- 테스트 서버를 4대 설치합니다
... Ansible SERVER(CentOS) 1대, Ansible NODE(CentOS, Ubuntu, Redhat) 3대
o 해당 Ansible 자동화 테스트는
"컨테이너 인프라 환경 구축을 위한 쿠버네티스/도커 (조훈 저자, 길벗)"
"앤서블로 시작하는 인프라 자동화 (장현정 저자, 한빛미디어)"을
참조하여 작성 및 테스트 예정입니다..
먼저 PC에 가상화를 돌리기 위한 virtualbox와 VM 이미지 다운로드 vargrant 를 설치합니다.
https://www.vagrantup.com/
https://www.virtualbox.org/
서버 설치 계획
ansible-server CentOS 8 | 192.168.56.50 ansible-server root / vargrant centOS |
node1 : CentOS 9 | 192.168.56.51 tnode1-centos root / vargrant centOS |
node 2 : Ubuntu 14 | 192.168.56.55 tnode2-ubuntu root / vargrant ubuntu |
node 3 : RHEL 8.8 | 192.168.56.57 tnode3-rhel root / vagrant rhel |
테스트는 아래책 들을 기준으로 했습니다
https://www.yes24.com/Product/Goods/102099414
https://www.yes24.com/Product/Goods/65306887
- 앤서블로 시작하는 인프라 자동화에 있는 소스자료 https://github.com/naleejang/Easy-Ansible
https://app.vagrantup.com/boxes/search 에 관련 서버 설치정보 확인
o 웹페이지에 centos/8 vargrant 파일을 검색합니다.
o vagrantfiel 에 다운로드할 OS 정보를 확인합니다. config.vm.box = " generic/centos8"
ubuntu, RHEL 로 똑같습니다.
C:\HashiCorp\Vagrantfile
Vagrant 서버 이미지 및 Vagrantfile
CentOS 8 |
Vagrant.configure("2") do |config| config.vm.box = "centos/stream8" end |
Ubuntu 20.04 | Vagrant.configure("2") do |config| config.vm.box = "ubuntu/focal64" end |
RHEL8 | Vagrant.configure("2") do |config| config.vm.box = "generic/rhel8" end |
# Vagrant 파일은 해당링크 https://hwpform.tistory.com/74 (실습하게 좋은 vagrant 파일)
# 해당 vagrantfiel을 C:\HashiCorp\Vagrantfile 에 복사해서
# vagrant up 할때변경된 Vagrantfile OS가 적용안되어 Vagrant.exe 삭제, C:\HashiCorp\ 폴더 삭제 반복
# 보통 Vagrant 다운받은 OS root 패스워드는 "vagrant" 이나 root 패스워드가 안먹힘
CentOS, Ubuntu 는 vagrant/vagrant User 로 로그인 하여 root 패스워드 변경
$ sudo passwd root
# RHEL 8는 위와 같은 방식으로 패스워드 변경이 안되어서
https://www.lesstif.com/system-admin/centos-8-rhel-8-reset-root-password-in-centos-8-86311229.html
방식으로 적용하여 패스워드를 변경함
# 또는 rockos8 패스워드 다른변경 방법
https://foxydog.tistory.com/147
서버별 IP설정
CentOS 8 | # nmtui |
Ubuntu 20.04 |
# apt install network-manager # apt installnet-tools # nmtui |
RHEL8 | # nmtui /etc/sysconfig/network-scripts/ |
ssh 접속 설정 & PuTTY & root 접속 설정
CentOS 8 RHEL8 |
/etc/ssh/sshd_config |
PermitRootLogin yes로 변경 PasswordAuthentication yes로 변경 # systemctl restart sshd |
Ubuntu 20.04 |
/etc/ssh/sshd_config | PermitRootLogin yes로 변경 PasswordAuthentication yes로 변경 # service sshd restart |
ansible server에 ansible 설치
# dnf install epel-release
# dnf install ansible
# ect/hosts 파일에 node 서버 등록
# cat /etc/hosts
192.168.56.51 tnode1-cetnos.exp.com
192.168.56.54 tnode2-ubuntu.exp.com
192.168.56.57 tnode3-rhel.exp.com
# etc/ansible/inventory 파일 생성
# cat /etc/ansible/inventory
[web] # 192.168.56.51, 192.168.56.54 해당
tnode1-centos.exp.com
tnode2-ubuntu.exp.com
[db] # 192.168.56.57 해당
tnode3-rhel.exp.com
[all:children] # 192.168.56.51, 192.168.56.54, 192.168.56.57 해당
web
db
# etc/ansible/ansible.cfg 생성
# cat /etc/ansible/ansible.cfg
[defaults]
inventory = /etc/ansible/inventory # inventory 또는 ansible로 관리할 서버 리스트 파일 및 경로
remote_user = root
ask_pass = false
[privilege_escalation]
become = true
become_method = sudo
become_user = root
become_ask_pass = false
'Ansible' 카테고리의 다른 글
Ansible - 03 (Ansible_playbook) (0) | 2023.12.17 |
---|---|
Ansible - 03 (Ansible_facts변수) (0) | 2023.12.16 |
Ansible - 02 (앤서블 접근을 위한 SSH 인증 구성) (0) | 2023.12.16 |
Ansible Server SETUP Module INFO (0) | 2023.11.18 |
Ansible-CMDB (CentOS/7) 기준 (1) | 2023.11.18 |