연재 시리즈

Ansible 사용방법

악분 2024. 1. 12. 22:52
반응형

https://youtu.be/F7LnYUqrrqE?si=sWpTFIcVgFUgaI-1

 

Ansible 사용하기 위해 2가지 설정이 필요합니다

 

1.  첫 번째: SSH 연결 설정

Ansible은 SSH프로토콜로 통신을 하기 때문에 control-node와 managed-node간 ssh연결 설정이 필요합니다.

 

ssh 연결을 하려면 control-node와 managed-node에서 공개키를 교환해야 합니다. 교환한 공개키는 파일로 저장됩니다.

  • control-node: $HOME/.ssh/known_hosts
  • managed-node: $HOME/.ssh/authorized_keys

 

control-node에서 ssh-copy-id 쉽게 공개키를 교환할 있습니다. ssh-copy-id 사용하려면 managed-node ssh접속 방식에서 비밀번호 접속을 허용해야 합니다.

$ ssh-copy-id 사용자@호스트

 

2.  두 번째: inventory 파일 생성

inventory파일은 control-node에서 작업할 managed-noed주소가 저장되어 있습니다.

 

inventory 파일은 ip 또는 도메인을 설정합니다.

$ cat inventory
ansible-node0
10.0.0.21

 

inventory 파일검증은 ansible-inventory명령어로 확인합니다.

$ ansible-inventory -i ./inventory --graph
@all:
  |--@ungrouped:
  |  |--ansible-node0
  |  |--ansible-node1

 

3.  Ansible 실행

 

ssh연결 설정과 inventory파일이 있으면 Ansible 실행할 준비가 되었습니다. control-node에서 ansible명령어로 Ansible모듈을 실행하면 됩니다. 명령어를 실행할 -i인자로 inventory파일 경로를 설정합니다. -a managed-node에서 실행하는 명령어를 설정합니다.

$ ansible -i {inventory 파일 경로} -a "{managed-node가 실행하는 명령어}" {managed-node 주소}

 

 

예를 들어 managed-node 네트워크 인터페이스 목록을 출력할 있습니다.

$ ansible -i inventory -a "ifconfig" all

 

ansible module 명령어를 쉽게 사용할 있도록 도움을 줍니다. 모듈 사용방법은 아래와 같습니다.

$ ansible -i {inventory 파일 경로} -m {모듈 이름} {managed-node 주소}

 

예를 들어 ping모듈을 사용하면, control-node inventory 설정한 managed-node ping통신을 합니다.

반응형

'연재 시리즈' 카테고리의 다른 글

Ansible vault  (0) 2024.01.14
Ansible playbook  (0) 2024.01.14
Ansible 소개  (1) 2024.01.09
게임으로 배우는 AWS IAM(부제목: bigiamchallenge)  (0) 2023.09.03
S3 공개(public) 설정 - 버킷 policy 설정편  (1) 2023.09.02