이선재·2023년 1월 12일
0

Ansible과 Rundeck

목록 보기
2/3
post-thumbnail

Ansible 설치 및 push test

Ansible이란, 미리 지정해둔 config 파일을 토대로 프로비저닝하는 Configuration Management Tool 입니다.

다음과 같은 순서로 세분화 됩니다.

1. 제어노드 생성

  • OS : Ubuntu 20.04 LTS
  • ansible 설치(Ansible Server)
apt update
apt install software-properties-common #add-apt-repository 패키지 설치 목적
add-apt-repository --yes --update ppa:ansible/ansible #시스템 소스목록에 추가
apt install ansible

ansible --version #ansible 설치 확인
  • 공개키 생성 및 권한 설정
< 생성>
ssh-keygen

<공개키 전송>
ssh-copy-id 관리노드_유저_이름@관리노드_IP_주소

cat ~/.ssh/id_rsa.pub | ssh 관리노드_이름@관리노드_IP_주소 "mkdir -p ~/.ssh; cat >> ~/.ssh/authorized_keys" #공개키 값 관리노드에 복사(ssh-copy-id 오류로 인하여 제작)

2. 관리노드 생성

  • OS : Ubuntu 20.04 LTS
  • 파이썬 버전 확인
python --version
Python 3.8.10

3. 공개 키 복사

*ssh-copy-id 사용 (permisson denied로 인한 스크립트 제작) 및 ssh 접속 test

<공개키 복사>
cat ~/.ssh/id_rsa.pub | ssh 유저명@관리노드_IP "mkdir -p ~/.ssh; cat >> ~/.ssh/authorized_keys"
 cat /.ssh/authorized_keys  #키 값 확인 
 
 <ssh 접속 test>
 ssh 유저명@관리노드_IP

4. Playbook 제작

  • YAML 파일 제작 추후 진행

5. 라이브러리 파일 설정

  • 관리노드 IP 기술
vim /etc/ansible/hosts

<설정>
#ansible client test IP
192.xxx.xxx.xxx #host1
192.xxx.xxx.xxx #host2

6. Ansible 명령어 사용

  • ansible 명령어 사용 ping test
ansile all -m ping

  • ansible 명령어 사용 ansible_test.txt 전송
echo 'this is ansible test' > ansible_test.txt #test file 작성

ansible all -m copy -a "src=/etc/ansible/test/ansible_test.txt dest=~/ansible_test.txt" #Push

관리 노드 둘을 확인해 본 결과 Server의 Push로 인하여 ansible_test.txt가 생겨난 것을 볼 수 있다. 다음 포스팅에서는 .yaml로 이 둘을 제작하고 실습할 것이다.

profile
지적을 환영하는 인프라 냠냠을 시도하는 취준생

0개의 댓글