ansible- 3

박형준·2024년 3월 29일
post-thumbnail

ansible ram: 2Gb면 충분


*운영체제 종류를 체크 하고 조건에 맞으면 실행 ..

*실행 결과
ok: [serverd.test.com] => {

  • "msg": "This is Rocky os use dnf"
    • ⇒ Rocky 삭제 후 실행 하면 메시지 X
  • [root@work ~]# vi os-check.yaml 파일 열기
  • 반복문과 조건문을 활용하여 OS가 Rockey와 같으면 msg 출력하는 것을 작성
  • OS가 Rockey와 같아서 msg 출력

*변수 없이 복수 조건을 지정해서 해당되면 출력.

*실행결과는 메시지가 출력

  • os-check.yaml 파일 복사
  • [root@work 4day]# vi os-check01.yaml
  • OS: Rockey, 버전: 9.3
  • 조건문 or을 이용해서 출력하는 문서 작성(when)
  • 출력 완료
  • 조건문 or을 이용해서 출력하는 문서 작성
  • 결과 출력 완료

*OS가 Rocky / 서버타입이 i386 해당되면 메시지 출력

  • when: ansible_facts['distribution'] == "Rocky" and ansible_facts['machine'] == "i386
  • when: ansible_facts['distribution'] == "Rocky" or ansible_facts['machine'] == "i386
  • #vi os-check02.yaml == 로키 이면서 버전까지 확인 해서 실행 되도록.

  • 또는 아래 처럼

  • 조건문 and를 이용해서 결과 출력
  • 결과 출력

*사전형태의 목록을 만들어 놓고 목록에 해당되면 출력

  • #vi os-check03.yaml
  • 위와 같이 조건문을 출력하면서 작성할 때 줄 바꿈 하는 방법
  • 실행 완료
  • 실행하는 메세지를 줄 바꿈 해주는 방법 (>)
  • 실행 완료
  • and와 같다(-), 조건을 작성할 때 and로 작성하면서 보기 편하게 작성하는 방법
  • 실행 완료

*and 와 or을 함께 사용하기

  • [root@work 4day]# cp os-check03.yaml os-check04.yaml
  • and를 ( ) 로 묶어 주고, or 을 넣어 주기
  • and를 통해 줄 바꿈 가능
  • 조건을 or로 작성하면서 비교하는 대상을 and로 묶는 방법
  • 실행 완료

*반복문: loop

  • apm이름 지정과 이에따른 pkg 설정

vi apm.yaml ========================================

*loop를 이용해서 반복 할 서비스를 기록하지 않고 , 반복할 서비스 목록의 yaml 파일 생성 후

  • loop 에 서비스 목록의 이름을 지정 해서 반복 하기
  • 서비스목록 파일은 vars(경로)에다 생성 후 지정 , 파일명: testsvc.yaml
  • vars 폴더 만들어서 install_pkg.yaml 파일 만든 후
  • var_files를 통해 경로 지정(vars/files:, name:)
  • install_pkg를 통해 루프로 설치하는 것 작성
  • item을 loop로 지정해서 서비스 작동시키는 것 작성
  • 방화벽 허용 시키는 것 작성 및 web 연동 작성
  • 웹사이트 확인

*loop를 이용해서 반복 할 서비스를 기록하지 않고 , 반복할 서비스 목록의 yaml 파일 생성 후

  • loop에 서비스 목록의 이름을 지정 해서 반복 하기 ⇒ serverc.test.com 에
    서비스목록 파일은 vars에다 생성 후 지정 , 파일명: testsvc.yaml
    • ⇒ loop: “{{ testsvc }}”
    • ⇒ vi testsvc.yaml

testsvc.yaml:

  • testsvc를 작성
  • testsvc 경로 지정
  • testsvc를 item 변수에 등록

0개의 댓글