Ansible 이란

salgu·2022년 12월 4일
0

ansible

목록 보기
1/4
post-thumbnail

Ansible의 멱등성


멱등성

Ansible의 특징중 멱등성이 있는데 같은 설정을 여러번 적용하더라도 한번만 적용됩니다.

확인

아까 적용했던 ansible playbook을 다시 실행하고 확인해보아도 추가가 되지않은 상황을 보실 수 있습니다.




Ansible 명령어


실행 옵션

  • -i
    • --inventory-file
    • 적용될 호스트들에 대한 파일정보
  • -m
    • --module-name
    • 모듈 선택 (aws, docker, copy 등)
  • -k
    • --ask-pass
    • 관리자 암호 요청
  • -K
    • --ask-become-pass
    • 관리자 권한 상승
  • --list-hosts
    • 적용되는 호스트 목록




Ansible에 인스턴스 등록


hosts 파일 생성

/etc/ansible 하위에 hosts 파일을 만들어 다음과 같이 써주면 devops라는 그룹으로 두개의 인스턴스를 정의할 수 있습니다.

Ansible 인스턴스 등록 확인

정의해준 인스턴스가 정상적으로 구동이 됐는지 ping 명령어로 확인해줄 수 있습니다.

all 명령어는 hosts에 등록된 모든 인스턴스에 명령어를 전달합니다.

172.17.0.3 인스턴스를 죽여서 테스트 해봅니다.

PING PONG이 되지 않은것을 확인할 수 있습니다.




명령어 전달


ansible의 모듈(-m)중 shell이란 명령어를 사용하면 해당 인스턴스에 명령어를 전달할 수 있습니다.
-a는 파라미터를 전달하는 옵션입니다.

인스턴스 메모리 체크

파일 체크

용량 체크




파일 전달



Ansible 서버에 전달할 파일을 만들어 줍니다.

copy라는 모듈을 사용해 파일을 전달할 수 있고
파라미터 중 src는 전달할 파일이고 dest 전달 받을 경로입니다.


정상적으로 파일이 복사되어 전달된것을 확인할 수 있습니다.




yum으로 프로그램 설치


ansible의 module 중 yum을 사용하여 대상 인스턴스에 httpd 프로그램을 설치해보겠습니다.

대상 두 인스턴스에 httpd가 설치가 안된것을 확인합니다.

yum module을 사용하여 설치를 진행해줍니다.

대상 두 인스턴스에 정상적으로 모두 설치가 된것을 확인할 수 있습니다.





reference :
이도원 - Jenkins를 이용한 CI/CD Pipeline 구축

profile
https://github.com/leeeesanggyu, leeeesanggyu@gmail.com

0개의 댓글