Skip to content

Files

Latest commit

65c4f2d · Sep 10, 2023

History

History

hous-infra

hous-infra

description

서버 계정을 이전할 때 OS에 대한 기본 설정하는 부분을 편하게 set up 하기 위해 만든 ansible script 입니다.

ansible 은 기본적으로 ssh 연결을 통해 스크립트를 실행하는 노드에서 host 에 적힌 노드들에게 연결을 보내는 형태입니다. 즉, 컨트롤 노드에만 ansible 을 설치하여 host 연결만 해두고 스크립트를 실행하면 됩니다.

ansible.cfg

inventory

[hous-dev-server] # 제어할 노드의 이름 (playbook 파일의 hosts 에 연결되는 값)
127.0.0.1 # ip 주소

playbook

  • hosts: 플레이의 작업을 실행할 제어 노드를 지정
  • vars: 작업 수행 시 사용할 변수를 정의
    • tasks 에서 변수 사용 시 {{ 변수명 }} 처럼 사용
  • tasks: 실행할 작업들을 지정 (github actions 에 job)
    • tasks 는 별도의 파일로 step 만 묶어서 생성해둘 수 있으나 현재는 한 파일에 다 정의해둔 상태

started

1) setting

  • local pc 에 ansible 설치
# mac 의 경우
brew install ansible
ansible --version
  • local pc 에서 ansible 을 이용해서 ssh 접속하기 위해 ssh 설정 필요
# 1. local pc 의 is_rsa.pub 키 값 복사
# 2. ec2 접속해서 ~/.ssh/authorized_keys 에 추가 
cd ~/.ssh
vim authorized_keys

참고자료

2) execute

cd ./hous-infra
vim inventory # ip 값 수정

파일 실행 구문 ansible-playbook 파일명(.yaml/.yml)

# -v 옵션은 실행 내역을 자세히 보기 위함 
ansible-playbook -v hous-server-ubuntu-setup.yaml