SSH Ansible - Rocky9
Ansible
1. Redhat
2. IaC (Infrastructure As Code)
2.1. 인프라를 코드로 관리
2.1.1. 100대의 서버를 설정하다면 휴먼미스 발생 가능성 다분 - 멱등성 (몇 만번을 실행해도 동일한 결과를 보장)
2.1.2. 비용 절감이 가능
2.1.3. Code로 관리하기 때문에 추가, 삭제, 수정 등의 버전 관리가 가능
2.2 구성관리
2.2.1 pppet, chef, ansible
2.3 배포 관리
2.3.1 vagrant, terraform
Rocky9-1 = master
Rocky9-2 = node1
Rocky9-3 = node2
Rocky9-4 = node3
1. 키 만들기
ssh-keygen
2. epel 다운로드
dnf install -y epel-release
3. rsa 파일 이름 변경
mv .ssh/{id_rsa.pub,authorized_keys}
(vi /etc/ssh/sshd_config 의 파일 이름 맞춰줘야 하기 때문)
4. 타 키 서버에 업로드
scp .ssh/authorized_keys root@10.0.0.12:/root/.ssh
scp .ssh/authorized_keys root@10.0.0.13:/root/.ssh
scp .ssh/authorized_keys root@10.0.0.14:/root/.ssh
5. 로그인 확인
ssh root@10.0.0.11
ssh root@10.0.0.12
ssh root@10.0.0.13
ssh root@10.0.0.14
5. ansible 설치
dnf -y install ansible
7. ansible hosts 편집
vi /etc/ansible/hosts
8. hosts 편집
vi /etc/hosts
9. adhoc 실행
ansible all (모두) -m 모드 (shell_) -a '명령어'
ansioble all -m shell -a 'ls -al'
10. vim 설치
dnf install -y vim
11. vi를 vim으로 읽게 하기
vi /etc/profile
vi .bashrc
alias vi='vim'
12. useradd asnible 만들기
vi useradd.yml
13. ansible 실행
ansible-playbook useradd.yml
node1에서 적용 사항 확인 가능