네트워크/네트워크 가상화, 자동화

Ansible facts

2023. 9. 13. 21:20
목차
  1. Ansible facts
  2. facts 수집하기
728x90

Ansible facts

💡 ansible fact는 ansible의 내장 모듈인 setup과 debug 모듈에 의해 실행될 수 있습니다
💡 gather fact를 비활성화 하면 facts 변수를 이용할 수 없습니다. task에서 setup 또는 debug 모듈을 통해서도 facts를 수집할 수 없습니다.

ansible facts는 remote host에 대한 정보를 의미하며 OS, IP address, hostname 등등의 정보를 포함한다.

 

ansible을 실행하면 자동으로 remote host에 대한 정보를 수집하고 수집한 정보 는 ansible_ 이라는 접두사를 붙여 저장한다. playbook이 아닌 ad-hoc 명령어에서는 setup 모듈을 이용하여 ansible fact를 수집할 수 있다.

 

이러한 fact 정보를 수집하여 특정 기준과 일치하는 그룹에만 task를 실행한다던지의 조건문을 생성해줄 수도 있다.

여담으로 playbook을 실행할 때 gathering facts라는 이름으로 전반적인 fact 수집 후에 오류가 없다면 task를 실행하게 되는데 호스트들이 모두 정상적인 상태라는 것을 알고 있다면 비활성화 하여 playbook의 성능을 향상 시킬 수 있다.

 

- name:
	hosts:
	gather_facts: no

위 코드로 fact 자체를 비활성화할 수 있다.

facts 수집하기

수집된 fact 값은 ansible_facts 변수에 저장되며, debug 모듈을 사용해 ansible_facts 변수 값을 출력할 수 있다.

ansible -m setup [host-pattern] | grep [variable]

우선 위 코드는 ad-hoc 명령어를 이용하여 facts를 수집하는 명령어다.

- name:
	hosts:
	task:
		-name:
		 debug:
				var: ansible_facts
	

기본적으로 위와 같이 코드를 작성한다.

 

사진 속에 있는 정보 외에도 호스트에 대한 굉장히 많고 자세한 양의 정보들이 출력되며 앞서 말했듯이 이런 정보들은 모두 ansible_ 접두사를 붙여 저장하게 된다. 그렇다면 위에 보이는 정보 중 dns에 대한 정보를 불러와보도록 하겠다.

 

 

수많은 정보들 중 dns 정보만 출력해낸 것을 확인할 수 있다.

 

하위 내용들에 대해서 아래와 같이 접근할 수 있다.

---

- name: ping test
  hosts: hostname_Ansible_slave_node_for_web:hostname_Control_node
  tasks:
    - name:
      debug:
        var: ansible_dns['nameservers']

nameserver만 표시되는 것을 확인할 수 있다. 한번에 여러 변수 표시는 yaml 문법 공부를 좀 더 해봐야겠다. - 배열 표시라 이용하면 될 것 같았는데 안된다. 그냥 task 를 여러개 적어서 사용하는 것 같다.

 

변수가 아닌 메세지 형태로 출력할 수도 있다. 아래의 코드 형식처럼 말이다.

---

- name: ping test
  hosts: hostname_Ansible_slave_node_for_web:hostname_Control_node
  tasks:
    - name:
      debug:
        msg: 
					- {{ ansible_dns['nameservers'] }}

위와 같이 코드를 작성한다.

 

정상적으로 포맷팅되어 출력되는 것을 확인할 수 있다. 이런 식으로 상태 관리에 이용할 수도 있을 것 같다.

저작자표시 (새창열림)

'네트워크 > 네트워크 가상화, 자동화' 카테고리의 다른 글

Anycast Gateway  (1) 2024.04.29
Ansible Tags  (2) 2023.10.10
Ansible known hosts 자동 등록 & 무시 방법  (0) 2023.09.12
Ansible Overview(config, inventory, dynamic inventory, playbook)  (0) 2023.09.11
  1. Ansible facts
  2. facts 수집하기
'네트워크/네트워크 가상화, 자동화' 카테고리의 다른 글
  • Anycast Gateway
  • Ansible Tags
  • Ansible known hosts 자동 등록 & 무시 방법
  • Ansible Overview(config, inventory, dynamic inventory, playbook)
코춘대길
코춘대길
우리의 인생은 우리가 노력한 만큼 가치가 있다. 2021~2023 고등학생, 2024 ~ Technical Architect 2025~2027 육군정보보호병
코춘대길
무지성 컴퓨터 성장일기
코춘대길
전체
오늘
어제
  • 분류 전체보기 (164)
    • 수상 실적 (8)
    • 네트워크 (133)
      • 보안 (3)
      • 서버 (20)
      • 클라우드 컴퓨팅 (25)
      • 네트워크 일반 (76)
      • 무선 네트워크 (3)
      • 네트워크 가상화, 자동화 (5)
      • 통신 설비 (0)
    • 정보보안산업기사 (0)
    • 시스템 (5)
    • Web (6)
    • C,C++ (8)
    • 사무 (2)
      • 엑셀,파워포인트 (2)
    • 일상 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • syn flooding
  • AWS
  • System manager
  • 클라우드 컴퓨팅
  • 컨테이너
  • 토폴로지
  • cisco nat
  • alb
  • Session Manager
  • 컨테이너 오케스트레이션 툴
  • 동적라우팅
  • 실행주기
  • vmnet
  • CISCO
  • 개어려움
  • 실장비 초기화
  • 실장비
  • 도커
  • flooding
  • 네트워크 보안

최근 댓글

최근 글

hELLO · Designed By 정상우.
코춘대길
Ansible facts
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.