ansible 10

Ansible Facts

Ansible Facts Discovering variables: facts and magic variables - Ansible Documentation 앤서블은 기본값으로는 Facts를 수집하게 되어있다. 그렇기 때문에 굳이 처음에 Facts를 수집하라고 하지 않아도 알아서 수집을 한다. 그러나, Facts를 수집하지 말아야할 상황이 생길 수도 있다. --- - name: Prepare Amazon Linux hosts: amazon become: true gather_facts: false tasks: # 컨테이너와 같은 python이 선생적으로 설치 되어있지 않는 것들은 yum, apt말고 comnmand 명령어로 직접 shell 작업을 해줘야한다. # Docs: https://docs.ansib..

DevOps/Ansible 2023.08.04

Ansible Loop

Ansible Loop Loops - Ansible Documentation Loops 반복문에는 3가지의 문법이 존재한다. loop, with_, until 문법이 존재하며, 여기서는 loop와 with_ 문법을 살펴볼 예정입니다. loop 문법은 현재 Ansible 2.5버전에서 나온 최신 문법이다. 해당 문법은 with_을 추후에 완전 대체할 문법입니다. 현재는 완전 대체하지 못하여 공존하고 있지만, 추후에 변경점이 생기지 않게 하기 위해서는 반복문 코드는 loop로 만드는 것을 추천한다. 실습 --- - name: Example hosts: ubuntu become: true vars: tags: Name: "Debug" Environment: "Test" Owner: "posquit0" user..

DevOps/Ansible 2023.08.04

Ansible Variables

Ansible Variables Using Variables - Ansible Documentation Ansible Varialbes 앤서블은 Python을 사용하기 때문에, Python의 예약어 및 ansible의 예약어를 사용하지 못한다. 변수 명 가능한 변수명 불가능한 변수명 foo *foo , python 예약어 foo_env playbook의 예약어(environment) foo_port foo-port, foo port, foo.port foo5, _foo 5foo, 12 변수 사용 형태 ansible.builtin.template: src: foo.cfg.j2 dest: '{{ remote_install_path }}/foo.cfg' 변수의 사용 형태는 {{ 변수 명 }} 으로 사용하면 된..

DevOps/Ansible 2023.08.04

Ansible Handler

Ansible Handler? 이번트를 기반으로 돌아가는 Task를 의미한다. 어떤 식으로 Handler을 사용하는지 알아보려면 우선 코드를 보면 된다. handler를 사용하는 이유는 Nginx와 같은 Web, Was들의 config 파일들을 바꾸고, ansible 명령어를 사용하게 된다면, 이에 대해서 변화가 없다는 것을 알 수 있다. ansible 몇몇 명령어들은 완벽한 멱등성을 제공하지 않으므로, (Nginx start)와 같이 다시 재 랜더링이 되지 않는 부분에 대해서 이벤트를 걸어서 Restart를 하게 해주는 것이 handler의 목적이다. 실습 코드 --- - name: Example hosts: ubuntu become: true tasks: # Docs: https://docs.ansi..

DevOps/Ansible 2023.08.04

Ansible Module

Ansible Module ansible 의 공식 문서이다. Ansible Documentation - Ansible Documentation 여기서 왼쪽 메뉴에 보면 Collection Index가 보인다. Collection Index 에서 amazon도 좋지만 ansible의 순수 실력을 올리기 위해서는 Ansible.Builtin - Ansible Documentation ansible의 내장 docs인 build-in part를 읽어보는 것도 좋은 방법이다. 실습 --- - name: Example hosts: ubuntu become: true tasks: # Docs: https://docs.ansible.com/ansible/latest/collections/ansible/builtin/u..

DevOps/Ansible 2023.08.04

Ansible playbook

Ansible playbook Playbook ansible의 playbook은 yaml 파일로 구성되어 있다. 잠시 파일을 한번 살펴보면 --- # This is Ansible Playbook # # 플레이북 (Playbook): YAML로 정의. 순서대로 정렬된 플레이(작업 목록) 절차. # 플레이 (Play): 작업 목록(Tasks). 특정 호스트 목록에 대하여 수행 # 작업 (Task): 앤서블의 수행 단위. 애드혹 명령어는 한 번에 단일 작업 수행. # 모듈 (Module): 앤서블이 실행하는 코드 단위. 작업에서 모듈을 호출함. # 콜렉션 (Collection): 모듈의 집합. - name: Play 1 hosts: ubuntu tasks: - name: "Task 1: Execute comm..

DevOps/Ansible 2023.08.04

Ansible Inventory

Ansible Inventory Inventory? 인벤토리란, 대상 서버 호스트를 관리하는 파일이라고 한다. 하나의 파일 안에 Ansible이 관리하는 서버들이 적혀있다. 이때 Inventory는 그룹 기능을 지원한다. Static Inventory 현재 알아볼 인벤토리는 정적 인벤토리이다. 이는 Ansible에서 가장 기초적인 인벤토리를 뜻한다. 파일의 확장자가 .inv 로 되어있지만, 확장자에 대한 부분은 정해진게 없다 이는 규칙을 알아서 세우면 된다. amazon.inv 해당 인벤토리에는 저번에 만들었던 서버에 public IP 주소가 할당 되어있다. 본인 서버에 맞게끔 public ip주소를 할당하면 된다. ubuntu.inv 해당 파일에서는 AWS 서버에서 public DNS주소를 기입한 것을..

DevOps/Ansible 2023.08.04

Ansible 기초

개인적으로 공부한 내용을 올리고 있습니다. 가독성이 떨어져도 양해 부탁드립니다 _ _ Ansible 기초 앤서블 공식 문서 Ansible Documentation - Ansible Documentation 서버 형상 관리(Server Configuration Management) 서버 운영체제 상에 필요한 소프트웨어를 설치하고 원하는 설정으로 관리하는 것 → 이를 통해서 Git Ops 가 가능해진다. 대표적인 형상관리 도구 Ansible, Puppet, Chef, Salt Stack 등등 앤서블의 유즈케이스 Configuration Management - 서버 구성 관리 Security Compliance - 보안 점검 관리 Provisioning Continuous Delivery Application..

DevOps/Ansible 2023.08.04