Ansible 24

Vagrant와 Ansible을 활용한 부하 분산이 가능한 웹 서버 구성

1. 구성도 및 계획 1. Host PC에서 Vagrantfile을 작성하여 Ansible-Server 및 총 4대의 서버 프로비저닝 2. Host PC에서 httpd template을 작성하고 Ansible-Server를 프로비저닝하면서 해당 탬플릿을 실행하여 httpd 웹 서버를 자동으로 구성 3. Host PC에서 haproxy.yml을 작성하고 Ansible-Server를 프로비저닝하면서 해당 플레이북을 동작시켜 자동으로 haproxy 로드벨런서 구성 4. 192.168.1.11로 접속시 정상적으로 웹서버에 접근이 가능하며 web-server01과 web-server02에 Round-Robin 메커니즘으로 번갈아가면서 한 번씩 접속된다. 2. Vagrantfile 작성 # Vagrantfile V..

Ansible 2021.07.28

Ansible Role 및 galaxy 활용하기

Role 바로 사용이 가능하다. 원하는 작업을 검색하여 롤을 선택하고 해당 롤을 적용하여 시스템에 원하는 기능이 동작한다. 롤의 구조 handlers = 핸들러가 담기는 디렉터리 defaults = 디폴트 인자가 들어가는 디렉터리 vars = 인자가 정의되는 디렉터리 files = 배포될 파일들이 위치하는 디렉터리 template = 배포에 사용될 템플릿들이 들어가는 디렉터리 meta = 다른 롤과 의존성이 있는 경우에 해당 롤을 명시 tasks = 지금까지 진행했던 기본 테스크(task)를 넣는 공간 실습 nginx 설치 플레이북 # vi nginx_install_w_roles.yml --- - name: Install nginx on the nodes hosts: nodes become: yes ro..

Ansible 2021.07.25

Ansible Template 활용하기

https://www.inflearn.com/course/ansible-%EC%8B%AC%ED%99%94/lecture/10808?tab=curriculum&speed=1.25 [심화] 앤서블(Ansible)을 깊이 있게 활용하기 - 인프런 | 학습 페이지 지식을 나누면 반드시 나에게 돌아옵니다. 인프런을 통해 나의 지식에 가치를 부여하세요.... www.inflearn.com j2 = jinja2 파이썬에서 템플릿을 위해 정의된 엔진이다. 따라서, 파이썬으로 짜여진 Ansible 그리고 SaltStack에서 적극적으로 차용한다. {%...%} : 제어가 들어가는 라인 -> with_Item, when, if {{ ... }} : 표현식(문)이 들어가는 구문 -> {{ 변수 }} {#...#} : 주석 ..

Ansible 2021.07.24

Ansible Handler & Vars

https://www.inflearn.com/course/ansible-%EC%8B%AC%ED%99%94/lecture/10806?tab=curriculum&speed=1 [심화] 앤서블(Ansible)을 깊이 있게 활용하기 - 인프런 | 학습 페이지 지식을 나누면 반드시 나에게 돌아옵니다. 인프런을 통해 나의 지식에 가치를 부여하세요.... www.inflearn.com 1. 핸들러란? 핸들러는 파일이 정상적으로 전송된 것을 확인하고 nginx 서비스를 재시작한다. 만약 파일이 정상적으로 전송되지 않으면 동작하지 않게 된다. 따라서 불필요한 작업을 줄일 수 있게 된다. 또한 변경사항을 감지하여 변경사항이 발생한 것에 대해서만 핸들러가 동작하게 된다. 변경사항이 없으면 실행되지 않아 불필요한 작업을 줄이..

Ansible 2021.07.23

기존에 작성한 Playbook을 짜임새 있게 재구성하기

[심화] 앤서블(Ansible)을 깊이 있게 활용하기 - 인프런 | 학습 페이지 (inflearn.com) [심화] 앤서블(Ansible)을 깊이 있게 활용하기 - 인프런 | 학습 페이지 지식을 나누면 반드시 나에게 돌아옵니다. 인프런을 통해 나의 지식에 가치를 부여하세요.... www.inflearn.com 아래 링크된 기존 글에서 작성한 nfs.yml 파일을 좀 더 짜임새 있게 구성해보도록 할 것이다. Vagrant로 구성한 CentOS 관리하기 (tistory.com) Vagrant로 구성한 CentOS 관리하기 [응용] 다양한 환경을 앤서블(Ansible)로 관리하기 with 베이그런트(Vagrant) - 인프런 | 강의 (inflearn.com) [응용] 다양한 환경을 앤서블(Ansible)로 ..

Ansible 2021.07.22

include_tasks와 if를 활용한 nginx 설치 플레이북 작성

1. include_tasks를 사용하지 않고 nginx를 노드에 설치 --- - name: Install nginx on the nodes hosts: nodes become: yes tasks: - name: Install nginx web server action : "{{ ansible_pkg_mgr }} name=nginx state=present update_cache=yes" when : ansible_distribution == 'Ubuntu' - name: Install nginx web server2-1 action : "{{ ansible_pkg_mgr }} name=epel-release state=latest" when : ansible_distribution == 'CentOS'..

Ansible 2021.07.22

Ansible FACT(s) 활용

https://www.inflearn.com/course/ansible-%EC%8B%AC%ED%99%94/lecture/10798?speed=1&tab=curriculum [심화] 앤서블(Ansible)을 깊이 있게 활용하기 - 인프런 | 학습 페이지 지식을 나누면 반드시 나에게 돌아옵니다. 인프런을 통해 나의 지식에 가치를 부여하세요.... www.inflearn.com FACT(s)란? 호스트들에 맞게 동적으로 할당되는 변수 인자를 말한다. 엔서블 코어 또는 플레이북을 작성할 때 유용하게 사용할 수 있는 인자들을 미리 정의해 둠 "ansible_distribution": "CentOS", "ansible_distribution_major_version": "7", "ansible_distributio..

Ansible 2021.07.21

Ansible 구성 authorized_keys 등록 자동화

[심화] 앤서블(Ansible)을 깊이 있게 활용하기 - 인프런 | 학습 페이지 (inflearn.com) [심화] 앤서블(Ansible)을 깊이 있게 활용하기 - 인프런 | 학습 페이지 지식을 나누면 반드시 나에게 돌아옵니다. 인프런을 통해 나의 지식에 가치를 부여하세요.... www.inflearn.com - authorized keys란? 인증된 키를 뜻함 이미 사용허가를 받아서 믿을 수 있는 사용자를 말한다. 서버가 노드에 접속을 시도하면 노드는 ~/.ssh/authorized_keys 파일 존재를 확인하고 authorized_keys 내용에 접속자의 접속을 허가할 수 있는 정보가 저장되어 있는지 확인하여 접속을 허용한다. - authorized keys 자동화 구축 방법 고려 authorized..

Ansible 2021.07.21

Ansible 서버 Known_hosts에 node 등록 자동화

[심화] 앤서블(Ansible)을 깊이 있게 활용하기 대시보드 - 인프런 | 강의 (inflearn.com) [심화] 앤서블(Ansible)을 깊이 있게 활용하기 - 인프런 | 강의 앤서블을 시간을 적게 들이면서, 좀 더 구조적으로 그리고 빠르게 동작하도록 만들어 봅시다. 그리고 부가적으로 보안적인 부분도 함께 알아보겠습니다., Ansible 심화 강좌 이전에 출시된 '[기초] www.inflearn.com 1. known_hosts 수동 설정 방법 vagrant로 서버와 노드를 프로비저닝하고 ping 모듈을 통해 통신 테스트를하면 아래와 같이 Failed가 발생한다. ssh키 교환이 아직 이루어지지 않았기 때문에 발생한다. 위와 같이 nodes 에게 ping 모듈 테스트를 진행하면 실패했다고 출력된다...

Ansible 2021.07.21

Ansible 사용시 유용한 디버그 기능

[응용] 다양한 환경을 앤서블(Ansible)로 관리하기 with 베이그런트(Vagrant) 대시보드 - 인프런 | 강의 (inflearn.com) [응용] 다양한 환경을 앤서블(Ansible)로 관리하기 with 베이그런트(Vagrant) - 인프런 | 강의 센트OS 이외에 얼마나 다양한 시스템에 엔서블이 사용될 수 있는지 배워봅시다. 앤서블을 리눅스 이외에 윈도우 및 네트워크 시스템과 같은 여러가지 시스템에 대해서 다양한 목적으로 사용하 www.inflearn.com 디버그와 디버거기능 추가 디버그와 디버거를 사용하면 playbook내의 오류를 보다 쉽게 찾아내고 수정하여 빠르게 고칠 수 있다는 장점이 있다. - name: Check monitoring status for linux hosts: Ce..

Ansible 2021.07.20