이미 소장하고 있다면 판매해 보세요.
|
|
1장. 앤서블 디자인과 시스템 구조
__앤서블 버전과 환경 설정 __인벤토리 파싱과 데이터 소스 ____정적 인벤토리 ____인벤토리 변수 데이터 ____동적 인벤토리 ____런타임 인벤토리 추가 ____인벤토리 제한 __플레이북 파싱 ____작동 순서 ____상대 경로 가정 ____플레이 행위 지시자 ____실행 전략 ____플레이와 작업을 위한 호스트 선택 ____플레이와 작업 이름 __모듈 전송과 실행 ____모듈 참고 ____모듈 아규먼트 ____모듈 전송과 실행 __변수 타입과 위치 ____변수 타입 __외부 변수값 접근 방법 __변수 우선순위 ____우선순위 순서 ____해시 병합 __요약 2장. 앤서블을 통한 데이터 보호 __안전한 데이터 암호화 ____볼트의 암호화 대상 ____새로운 암호 파일 생성 ____기존 파일 암호화 ____암호화된 파일 수정 ____암호화된 파일에 대한 비밀번호 변경 ____암호화된 파일의 복호화 ____암호화된 파일을 이용한 앤서블 플레이북 실행 __플레이북 실행 중의 보안 데이터 보호 ____원격 호스트로 전송되는 보안 데이터 ____원격 또는 로컬 로그 파일에 기록된 보안 데이터 __요약 3장. 진자2 템플릿 고급 활용 방안 __제어 구조 ____조건문 ____반복문 ____매크로 __데이터 처리 ____문법 ____유용한 내장 필터 ____앤서블이 제공하는 유용한 커스텀 필터 ____정의되지 않은 아규먼트의 생략 ____파이썬 오브젝트 메소드 __값 비교 ____비교 ____로직 ____테스트 __요약 4장. 작업 조건 제어 __실패 결정 ____에러 무시 ____에러 조건 선언 ____변경 선언 ____명령어 계열을 다루는 특별한 방법 ____변경 억제 __에러 복구 ____Rescue ____Always __요약 5장. 롤을 이용해 재사용 가능한 플레이북 작성 방법 __작업, 핸들러, 변수 및 플레이북의 포함 개념 ____포함 작업 ____포함된 작업에 변수값 전달 ____핸들러를 포함하는 방법 ____변수를 포함하는 방법 ____플레이북을 포함하는 방법 __롤 ____롤 구조 ____롤 의존성 ____롤 애플리케이션 ____롤 공유 __요약 6장. 순차적 배포를 활용한 서비스 중단 최소화 방안 __기존 시스템에서 업그레이드 __호스트 확장과 추가 __빠른 실패 ____any_errors_fatal 옵션 ____max_fail_percentage 옵션 ____핸들러를 강제로 작동시키는 방법 __서비스 중단 최소화 ____서비스 중단 지연 ____서비스 중단 작업을 한 번만 실행시키는 방법 __순차적 작업 실행 방법 __요약 7장. 앤서블 장애 처리 __플레이북 로그와 로깅 레벨 ____로깅 레벨 ____로깅 __변수 조사 ____변수의 하위 요소 __코드 실행 디버깅 ____플레이북 디버깅 ____로컬 코드 디버깅 __요약 8장. 앤서블 기능 확장 __모듈 개발 방법 ____모듈의 기본 구성 ____사용자 수정 모듈 ____예제 모듈 __플러그인 개발 방법 ____연결 플러그인 ____셸 플러그인 ____룩업 플러그인 ____변수 플러그인 ____팩트 캐싱 플러그인 ____필터 플러그인 ____콜백 플러그인 ____액션 플러그인 ____플러그인 배포 __동적 인벤토리 개발 방법 ____호스트 목록 ____호스트 변수 목록 ____간단한 인벤토리 플러그인 __앤서블 프로젝트에 기여하는 방법 ____코드 제출 방법 __요약 9장. 인프라 환경 배포 관리 __클라우드 인프라 환경 관리 방법 ____서버 생성 ____오픈스택 인벤토리 소스 사용법 __도커 컨테이너 연동 방법 ____컨테이너 이미지 생성하기 ____Dockerfile 없이 컨테이너 생성하기 ____도커 인벤토리 __앤서블 컨테이너 미리 보기 ____Init ____Build ____Run __요약 |
Jesse Keating
|
이 책에서 다루는 내용
숨겨진 앤서블 작동 방식의 깊이 있는 이해 데이터 암호화를 통한 앤서블 플레이북 실행의 완전 자동화 플레이북에서 변수 데이터 접근과 조작 실패 복구와 정리를 구성하기 위한 블록 사용법 플레이북 디버거와 앤서블 콘솔 예상치 못한 앤서블 작동을 효율적으로 트러블슈팅하는 방법 앤서블로 클라우드 인프라와 컨테이너 시스템 관리하기 사용자 모듈, 플러그인 그리고 동적 인벤토리 소스 개발 방법 이 책의 대상 독자 앤서블의 핵심 구성요소와 기본 작동 방법은 알고 있지만, 앤서블을 사용해 자동화 적용에 필요한 기술을 향상시키고자 하는 앤서블 개발자와 운영자를 대상으로 한다. 이 책의 구성 1장, '앤서블 디자인과 시스템 구조'에서는 앤서블이 어떻게 엔지니어를 대신해서 작업을 수행하는지 자세히 알아보고, 어떻게 디자인되었으며, 인벤토리, 변수와 어떻게 상호 동작하는지 알아본다. 2장, '앤서블을 통한 데이터 보호'에서는 패스워드와 같은 보안이 유지되는 데이터를 암호화하고 실행단계에서 복호화하는 방법을 알아본다. 3장, '진자2(Jinja2) 템플릿 고급 활용 방안'에서는 앤서블에서 사용되는 진자2 템플릿을 다양하게 사용하는 방법에 대해 알아보고, 해당 능력을 최대한 발휘하는 방법을 찾아본다. 4장, '작업 조건 제어'에서는 앤서블의 기본 작동방식을 변경해 작업 조건과 에러를 사용자 환경에 맞게 변경한다. 5장, '롤Role을 이용해 재사용 가능한 플레이북 작성 방법'에서는 앤서블 코드를 단순히 실행시키는 것을 넘어, 재사용이 가능하도록 추상화하고 캡슐화해서 목표 호스트에서 호스트당 각각 목적에 맞는 특별한 기능을 수행하는 방법을 제시한다. 6장, '순차적 배포(Rolling Deployment)를 활용한 서비스 중단 최소화 방안'에서는 관련된 앤서블 기능을 활용해 일반적으로 사용되는 애플리케이션 배포와 업그레이드 전략을 설명한다. 7장, '앤서블 장애 처리'에서는 앤서블 작업을 검사하고, 작동 방식을 파악하고, 수정하고, 디버그하는 여러 가지 도구를 알아본다. 8장, '앤서블 기능 확장'에서는 앤서블의 모듈, 플러그인, 인벤토리 소스를 추가해 새로운 기능을 추가하는 다양한 방법을 알아본다. 9장, '인프라 스트럭처 배포 관리'에서는 클라우드 인프라 스트럭처 환경과 컨테이너 시스템 환경에서 인프라 스트럭처를 생성하고 관리하는 방법을 알아본다 지은이의 말 앤서블을 마스터하기 위해 온 것을 환영한다. 이 책은 앤서블이 제공하는 자동화, 그리고 오케스트레이션과 같은, 다양한 고급 기능을 습득할 수 있는 가이드가 돼줄 것이다. 또한 독자는 이 책을 통해 앤서블이 작동하는 가장 기본적인 원리부터 알아가게 될 것이고 그 원리를 알게 되면 오늘날은 물론 향후에 마주치게 될 복잡하고 어려운 문제도 손쉽게 해결할 수 있는 고급 능력도 익힐 수 있다. 독자는 또한 앤서블 작동방식을 잘 이해할 수 있고, 고급 기능을 사용하는 방법, 예상치 못한 일이 발생했을 때 이를 해결하는 방법, 그리고 앤서블을 자신의 환경에 맞게 변형하는 방법을 익힐 수 있다. 옮긴이의 말 앤서블은 배우기 쉽고 적용할 범위가 넓다. 그리고 기존에 서버마다 접속해서 반복해 스크립트를 실행해야 하는 일도 앤서블의 플레이북 몇 줄로 해결이 가능해졌다. 앤서블은 프로그래머를 위한 언어가 아닌, 시스템 관리자를 위한 언어이며, OS 관리 명령을 알고 있으면 쉽게 관련 모듈을 찾아서 적용할 수 있다. 하지만 꼭 시스템 관리자만 사용해야 한다는 의미는 아니다. 왜냐면 앤서블은 현재 900여 개 이상의 모듈을 통해서 900여 개 이상의 기능을 제공하기 때문에 IT 엔지니어라면 가상화 또는 클라우드 관리자든, 네트워크 담당자든, 자신에게 필요한 모듈을 활용해서 자동화를 할 수 있게 도와준다. 그리고 이렇게 자동화해 놓으면 업무 효율성이 높아져 기존 2~3시간 걸리는 일을 10분 안으로 줄일 수 있고, 에러 발생률도 현격히 낮출 수 있다. 그럼 이렇게 모든 작업을 자동화해 버리면 관리자들은 무엇을 해야 할까? 그 대답은 표준화 정립이다. 지루하고 반복되는 작업은 자동화해 버리고, 애플리케이션에 필요한 시스템 파라미터 표준화, 애플리케이션 설정 파라미터 표준화 등 더 안정적 운영과 빠른 배포를 위한 표준화를 수립하기 위해서 시간을 할애해야 한다. 자동화의 기본 전제는 잘 만들어진 표준화 수립임을 명심해야 한다. 또 다른 중요한 업무로는 애플리케이션의 테스트 시나리오를 최신으로 완벽하게 준비하는 것이다. 애플리케이션의 기능이 정상적으로 작동하는지 판단하는 기능테스트와 다른 서버와의 연계테스트 시나리오가 완벽하게 준비돼 있어야 실제 업무환경으로 전환했을 때도 큰 문제 없이, 또는 사소한 일에 시간을 빼앗기지 않고 애플리케이션 또는 시스템 변경 작업을 진행할 수 있다. 지금껏 IT 관리자들은 “서비스가 늘 살아있어야 한다.”라는 강박감에 밤샘 작업을 밥 먹듯이 하고, 오분 대기조 상태로 신경을 곤두세워왔다. 이제는 설정 표준화와 테스트 시나리오를 완벽히 준비하고, 이를 기반으로 IT 자동화를 구현해 밤에는 두 다리 뻗고 잠을 잘 수 있는 인프라 환경을 만들었으면 좋겠다. |