본문 바로가기

ansible

C276x260.fwebp.q85 [draft] Ansible Pull 모드를 사용하여 NGINX를 설치하는 방법 Ansible Pull 모드를 사용하여 NGINX를 설치하는 방법Ansible Pull 모드는 중앙 관리 서버가 클라이언트에 명령을 Push하는 방식이 아니라 각 클라이언트가 Git 저장소에서 Playbook을 Pull 하여 직접 실행하는 방식입니다. 즉,Push 방식 → Control Node → Managed NodePull 방식 → Managed Node → Git Repository1. Ansible Pull 동작 구조Ansible Pull의 기본 흐름은 다음과 같습니다.Git Repository │ │ (git clone / pull) ▼Client Server │ │ ansible-pull 실행 ▼Playbook 실행 │ .. 더보기
C276x260.fwebp.q85 [draft] Ansible Playbook에서 현재 날짜 및 시간 얻기 Ansible Playbook에서 현재 날짜 및 시간 얻기(ansible-playbook)1. ansible_date_time fact 사용Ansible에서는 facts 수집(gather_facts) 시 자동으로 다양한 시스템 정보를 가져옵니다.이 중 ansible_date_time fact를 이용하면 현재 날짜 및 시간을 사용할 수 있습니다. Playbook 예제vim current_date_time1.yml---- name: 사용자 정의 변수에 현재 날짜 및 시간 저장 hosts: all gather_facts: true tasks: # ansible_date_time fact 확인 - name: Debug ansible_date_time debug: var: a.. 더보기
C276x260.fwebp.q85 [draft] Ansible Playbook에서 register와 debug 모듈 사용하는 방법 Ansible Playbook에서 register와 debug 모듈 사용하는 방법Ansible Playbook에서는 작업(Task)의 실행 결과를 변수에 저장하고 이후 작업에서 활용할 수 있다.register : 작업(Task)의 실행 결과를 변수에 저장debug : 변수의 값을 출력하여 확인1. 기본 사용 방법registerregister 키워드는 특정 작업의 실행 결과를 변수에 저장한다.register: result_variable저장되는 주요 값 예시stdout : 명령 실행 결과 문자열stdout_lines : 결과를 줄 단위 리스트로 분리stderr : 오류 메시지rc : Return codechanged : 작업 변경 여부debugdebug 모듈은 변수 값을 출력할 때 사용한다.debug: .. 더보기
C276x260.fwebp.q85 [draft] Ansible Playbook에서 block, rescue, loop, always를 사용하는 방법 Ansible playbook에서 block, rescue, loop, always를 사용하는 방법(ansible-playbook)Ansible Playbook에서는 여러 작업을 하나의 논리적 그룹으로 묶고 오류 발생 시 처리하기 위해 block 기반 예외 처리 구조를 사용할 수 있다.구성 요소역할block여러 작업을 하나의 논리적 그룹으로 묶음rescueblock 내부 작업이 실패할 경우 실행always성공/실패 여부와 관계없이 항상 실행loop동일 작업을 여러 항목에 대해 반복 실행1. 기본 Playbook 예제Playbook 작성vim example.yml---- name: 플레이북 예시 hosts: all gather_facts: false become: true tasks: - na.. 더보기
C276x260.fwebp.q85 [draft] Ansible Playbook에서 loop와 when 조건문을 사용하는 방법 Ansible Playbook에서 loop와 when 조건문을 사용하는 방법(ansible-playbook)Ansible Playbook에서는 반복 작업(loop)과 조건 실행(when)을 통해 여러 대상에 동일한 작업을 수행하거나 특정 조건에서만 작업을 실행할 수 있다.1. Playbook 예제 작성Playbook 파일을 생성한다.vim example2.yml---- name: Chrony 설치 및 설정 hosts: all become: true gather_facts: true vars: users: - ansible_user1 - ansible_user2 - ansible_user3 tasks: - name: 사용자 계정 생성 ansible.b.. 더보기
C276x260.fwebp.q85 [draft] Ansible SSH Fingerprint 접속 오류를 해결하는 방법 Ansible SSH Fingerprint(Host Key) 접속 오류를 해결하는 방법ansible.cfg 파일에서 fingerprint 옵션을 False로 설정하여 Ansible에서 SSH 지문 검사를 비활성화할 수 있습니다. 이를 통해 Ansible은 SSH 연결 시 서버의 호스트 키를 검사하지 않습니다. Ansible 실행 중 다음과 같은 오류가 발생하는 경우fatal: [node2]: UNREACHABLE! => { "changed": false, "msg": "Failed to connect to the host via ssh: Host key verification failed.", "unreachable": true}Ansible fingerprint 접속 오류는 Ansible이 SSH.. 더보기
C276x260.fwebp.q85 [draft] 우분투에서 Ansible을 위한 기본 Bash 자동 완성을 설치하는 방법 우분투에서 Ansible을 위한 기본 Bash 자동 완성을 설치하는 방법우분투에서 Ansible CLI(ansible, ansible-playbook 등)를 사용할 때 Bash 자동 완성(Tab completion)을 활성화하는 방법입니다.1. Bash Completion 패키지 설치Bash 자동 완성 기능을 제공하는 패키지를 설치합니다.sudo apt-get updatesudo apt-get install -y bash-completion설치 후 현재 쉘에 바로 반영source /etc/bash_completion2. Ansible Bash Completion 스크립트 다운로드Ansible 기본 명령(ansible)에 대한 자동 완성 스크립트를 시스템 전역 Bash completion 디렉터리에 다운로.. 더보기
C276x260.fwebp.q85 [draft] Ansible을 위한 기본 Bash 자동 완성을 설치하는 방법 Ansible을 위한 기본 Bash 자동 완성을 설치하는 방법(Basic bash completion for Ansible)Ansible CLI(ansible, ansible-playbook, ansible-doc 등)는 기본적으로 Bash 자동 완성이 포함되어 있지 않습니다.1. bash-completion 패키지 설치 및 활성화sudo yum install -y bash-completionsource /etc/bash_completion2. ansible-completion 다운로드GitHub 저장소를 클론합니다.git clone https://github.com/dysosmus/ansible-completion.git$ ls -l ansible-completiontotal 68-rw-rw-r-- 1.. 더보기