Jenkins에서 사용했었던 publish over ssh 기능을 활용하면 Jenkins 측에서 스크립트를 날릴 수 있어 편하게 파이프라인을 구축할 수 있었다.
이번 경우에는 Jenkins측에서 Ansible Master에게 명령을 내리고,
Ansible Master가 다시 managed node에 명령을 내리는 식으로 두 단계를 거쳐 수행하게 된다.
(Jenkins 보다는 Ansible 쪽에서 그룹 지정이나 인스턴스 지정이 용이하다)
같은 인스턴스에 Ansible과 Jenkins를 설치해서 사용하기도 한다(이 경우 localhost가 타겟이 됨)
(본 글에서는 Ansible 인스턴스와 Jenkins 인스턴스는 별개의 인스턴스이다.)
Publish Over SSH 모듈 설치
publish over ssh 모듈을 설치해주자.
(Jenkins 관리 - Plugins - Available plugins - publish over ssh)
세부 설정
# 키 생성
ssh-keygen -t rsa -b 4096
# Jenkins 인스턴스에 Ansible 인스턴스의 .pub 키 내용 추가
sudo nano ~/.ssh/authorized_keys
그리고 System에서 Publish over SSH 설정을 해주자.
Item 생성
Freestyle project를 새로 만들어주자.
임의로 'Ansible_playbook`으로 이름지었다.
다음의 과정을 직접 수행해주자 :
Java 17 버전 설치
Nginx 설치
Ansible의 장점
Ansible을 이용하는 장점이 여기서 나타난다 :
멱등성이 보장되기 때문에, 전체 그룹에서 설치나 업데이트가 필요한 인스턴스는 정상적으로 설치나 업데이트가 이루어지고,
이미 설치나 업데이트가 완료 된 인스턴스는 실행 타겟에서 빠지기 때문에, 결과적으로는 실행 한 번 만으로 필요한 만큼만 실행할 수 있다.
'🌥️Cloud Study🌥️ > IaC' 카테고리의 다른 글
[ Ansible ] Ansible Galaxy로 원하는 롤, 콜렉션 찾기 (1) | 2024.08.23 |
---|---|
[ Ansible ] 플레이북(Playbook) 사용해보기 (0) | 2024.08.22 |
[ Ansible ] Ansible 모듈 사용해보기 (1) | 2024.08.22 |
[ Ansible ] Ansible 개요 및 환경설정 (0) | 2024.08.22 |