시스템 자동화를 위한 최적의 도구 앤서블(Ansible)
- 앤서블(Ansible)은 시스템 구성 관리 도구입니다. 따라서 컨테이너(주로 도커라고 부름)를 변경하는 도구로는 적헙하지 않으며, 컨테이너는 불변(Immutable) 구조의 성격이기 때문에 실습 환경은 앤서블 환경에 적합한 가상 머신(VM)에서 진행됩니다.
- 또한 앤서블은 시스템 구성 관리 도구이기 때문에 필요할 때 배포하는 자원(주로 클라우드)에서는 잘 사용되지 않습니다. 이러한 내용에 대한 설명은 미리보기로 무료 공개된 [(섹션 15-1) 앤서블 vs. 테라폼 그리고 앤서블의 미래] 수업을 통해서 확인하실 수 있습니다. 그리고 좀 더 상세한 예제가 필요하시다면 [(섹션 24-1) 앤서블(Ansible)을 통한 쿠버네티스 버전 업그레이드] 를 참고 하시기 바랍니다.
- 앤서블 버전은 구버전이오나, 앤서블을 다루는 내용 자체에는 큰 문제가 없는 것 같아서 현재 내용을 유지하고 있습니다.
- 위의 내용들이 충분히 괜찮고, 현재 강의 목록이 도움이 되실 것이라고 판단되면 강의를 진행해주시는 것을 추천드립니다.
📖 이 강의에서는
[기초] 에서는 앤서블의 설치와 실행에 대해서 간단하게 살펴 볼 것이며,
[응용] 에서는 기초에서 살펴본 센트OS외에 다양한 시스템을 앤서블을 통해서 자동 관리하도록 구현할 것입니다. 이를 통해 일원화된 관리 체계를 만들 수 있습니다.
(https://github.com/sysnet4admin/_Lecture_Ansible.adv)
[Optional] `앤서블 2.5 새로운 점`, `네트워크 실습을 위한 NX-OSv 랩 구성하기`를 다루고 있으며, 필요하신 부분인 경우에 들으시면 되는 참고 사항 수준의 내용입니다.
(https://github.com/sysnet4admin/_Lecture_Ansible.Update1)
[심화] 에서는 단순하게 작성했던 코드를 좀 더 구조적으로 효율적으로 동작하도록 만들고, 재사용할수 있도록 코드를 만들어 보겠습니다. 그리고 이제는 기능적으로 동작하는 부분 뿐만 아니라, 중요한 정보를 보호할 수 있도록 만들고, 성능도 높이는 부가적인 부분이지만 정말 중요한 부분을 알아볼 것입니다.
(https://github.com/sysnet4admin/_Lecture_Ansible.expert)
👨👩👧👦 도움이 되는 분들
- 개발자로서 데브옵스 툴에 대해 관심이 있는 분
- 시스템 운영자로서 업무의 효율화를 추구하시는 분
- 전산실 관리직으로서 시간이 없다고 하는 직원들에게 생산성 툴을 소개하시고 싶은 분
- 인프라 관련 엔지니어로 취업을 희망하는 취업 준비생 분
- 순수 개발자로 프로비저니링 툴을 통해 나만의 개발환경을 쉽게 지속 관리하시고 싶은 분
- 기초와 응용과정에서 다룬 앤서블을 효율적으로 구성하고, 성능을 높이는 방법이 궁금하신 분
📃 요구 사항
- 실습을 위해서 8기가 이상의 메모리를 가진 윈도우 시스템
- 리눅스에 대한 기본수준의 명령어(즉, cd / cat / mkdir / vi / tail / yum / apt 등)에 대한 이해
- 네트워크에 대한 기본적인 이해 (IP, 서브넷, 포트 등)
- 가상화 환경에 대한 기본적인 이해 (버추얼 박스로 실습)
- Git에 대해 clone 수준의 이해
- (옵션) 추가로 사용가능한 노트북
🏫 배우는 것들
- 베이그런트(vagrant) 사용법
- 앤서블을 통해서 리눅스를 구성하고 관리하는 법
- 앤서블을 통해서 윈도우 시스템을 구성하고 관리하는 법
- 앤서블을 통해서 네트워크 시스템(Cisco NX-OS)을 관리하기
- 운영체제별 앤서블의 동작원리에 대한 차이점
- 앤서블의 디버그에 대한 이해
- ---
- 플레이북을 동적으로 구성하는 법
- 플레이북을 구조화 하는 방법
- 앤서블의 코드를 재사용하는 방법
- 앤서블에서의 보안
- 앤서블의 성능 튜닝 포인트
- 수강생 분들의 질문에 대해 최선을 다해 답을 드리려고 노력하고 있습니다. 그러나 개인 환경에 따라 발생하는 특정한 문제나 에러의 경우 도와드리지 못할 수 있는 점 양해 바랍니다.
- 애플M1 및 태블릿에서는 실습 환경 구성이 원활하지 않습니다.