이미 소장하고 있다면 판매해 보세요.
|
1장. 소개
__버전 정보 __앤서블을 어디에 사용하면 좋은가? __앤서블의 동작 방식 __앤서블의 장점은 무엇인가? ____단순함 ____강력함 ____안전함 __앤서블은 너무 단순한가? __선수지식 __다루지 않는 내용 __요약 2장. 설치와 설정 __앤서블 설치 ____느슨한 의존성 ____컨테이너에서 앤서블 실행 ____앤서블 개발 __테스트용 서버 설정 ____베이그런트 테스트 서버 설정 ____앤서블에 서버 정보 제공하기 ____ansible.cfg 파일을 통한 단순화 ____익숙함과 결별하라 __편리한 베이그런트 설정 옵션 ____포트 포워딩과 사설 IP 주소 ____에이전트 포워딩 활성화 __도커 프로비저너 __앤서블 로컬 프로비저너 __프로비저너 실행 시점 __베이그런트 플러그인 ____hostmanager ____vbguest __버추얼박스 사용자화 __Vagrantfile은 루비다 __상용 환경 설정 __요약 3장. 플레이북 시작하기 __준비 단계 __아주 간단한 플레이북 ____엔진엑스 설정 파일 지정 ____웹 페이지 생성 ____그룹 생성 __플레이북 실행 __플레이북은 YAML ____문서의 시작 ____파일의 끝 ____주석 ____들여쓰기와 공백 ____문자열 ____불리언 ____리스트 ____딕셔너리 ____여러 줄 문자열 ____문자열 대신 순수 YAML __플레이북의 구조 __플레이 ____태스크 ____모듈 ____앤서블 모듈 문서 살펴보기 ____하나로 모으기 __변경되면 호스트 상태 추적 __고급 기능: TLS 지원 ____TLS 인증서 생성 ____변수 ____앤서블 문자열에 인용부호 사용 ____엔진엑스 설정 템플릿 생성하기 ____루프 ____핸들러 ____핸들러에서 알아둘 내용 ____테스트 ____검증 ____플레이북 ____플레이북 실행 __요약 4장. 서버를 기술하는 인벤토리 __inventory/hosts 파일 ____사전 작업: 여러 베이그런트 머신 준비 __동작 인벤토리 파라미터 ____동작 파라미터의 기본값 변경 __그룹, 그룹, 그룹 ____예제: 장고 앱 배포 ____에일리어스와 포트 ____그룹의 그룹 ____번호가 있는 호스트(반려동물과 가축) __인벤토리에서 호스트와 그룹 변수 __파일에서 호스트와 그룹 변수 __동적 인벤토리 ____인벤토리 플러그인 ____아마존 EC2 ____애저 리소스 매니저 ____동적 인벤토리 스크립트 인터페이스 ____동적 인벤토리 스크립트 작성 __인벤토리를 여러 파일로 분할 __런타임에 add_host와 group_by를 사용해 항목 추가 ____add_host ____group_by __요약 5장. 변수와 팩트 __플레이북에서 변수 정의 ____별도 파일에 변수 정의 ____디렉터리 배치 __변수의 값 확인 ____변수 보간 __변수 등록 __팩트 ____서버와 관련된 모든 팩트 보기 ____팩트의 하위 집합 보기 ____모든 모듈은 팩트나 인포를 반환한다 ____로컬 팩트 ____set_fact로 새로운 변수 정의 __내장 변수 ____hostvars ____inventory_hostname ____groups __명령줄에서 변수 설정 __우선순위 __요약 6장. 메자닌 소개: 테스트 애플리케이션 __상용 환경 배포가 복잡한 이유 __Postgres 데이터베이스 __거니콘 애플리케이션 서버 __엔진엑스 웹 서버 __Supervisor 프로세스 관리자 __요약 7장. 앤서블로 메자닌 배포 __플레이북 태스크 리스트 __배포된 파일 __변수와 비밀 변수 __여러 패키지 설치 __태스크에 Become 절 추가 __apt 캐시 갱신 __깃으로 프로젝트 체크아웃 __가상 환경에 메자닌과 나머지 패키지 설치 __태스크에서 복잡한 인수에 관한 짧은 이야기 __데이터베이스 구성 __템플릿에서 local_settings.py 파일 생성 __django-manage 명령 실행 __애플리케이션 컨텍스트에서 사용자 정의 파이썬 스크립트 실행 ____서비스 구성 파일 설정 __엔진엑스 구성 활성화 __TLS 인증서 설치 __트위터 크론 잡 설치 __전체 플레이북 __베이그런트 머신에 플레이북 실행 __트러블슈팅 ____깃 저장소를 체크아웃할 수 없는 문제 ____192.168.33.10.nip.io에 접속할 수 없는 오류 ____잘못된 요청(400) 발생 __요약 8장. 앤서블 플레이북 디버깅 __친화적인 오류 메시지 __SSH 문제 디버깅 __SSH에서 알아야 할 일반적인 사항 ____PasswordAuthentication no ____다른 사용자로 SSH 접속 ____호스트 키 확인 실패 ____내부 네트워크 __debug 모듈 __플레이북 디버거 __assert 모듈 __플레이북 실행 전 점검 ____문법 검사 ____호스트 리스트 ____태스크 리스트 ____점검 모드 ____Diff(파일 변경사항 표시) ____태그 ____limit __요약 9장. 롤: 플레이북 확장 __롤의 기본 구조 __롤을 사용한 메자닌 배포 예 ____플레이북에서 롤 사용 ____pre-tasks와 post-tasks ____데이터베이스를 배포하기 위한 database 롤 ____메자닌 배포용 mezzanine 롤 __ansible-galaxy를 사용해 롤 파일과 디렉터리 생성 __의존 롤 __앤서블 갤럭시 ____웹 인터페이스 ____명령줄 인터페이스 ____실무에서 롤 요구사항 ____직접 작성한 롤 제공 __요약 10장. 복잡한 플레이북 __오동작한 명령 처리 __필터 ____default 필터 ____등록된 변수용 필터 ____파일 경로에 적용하는 필터 ____사용자 정의 필터 작성 __룩업 ____file ____pipe ____env ____password ____template ____csvfile ____dig ____redis ____룩업 플러그인 작성 __더 복잡한 루프 ____룩업 플러그인 사용 ____with_lines ____with_fileglob ____with_dict ____룩업 플러그인으로 구조 반복 __루프 제어문 ____변수 이름 설정 ____출력에 레이블 지정 __임포트와 인클루드 ____동적 인클루드 ____롤 인클루드 ____롤 흐름 제어 __블록 __블록으로 오류 처리 __ansible-vault를 활용한 중요 정보 암호화 ____다중 비밀번호용 vault __요약 11장. 호스트, 실행, 핸들러 사용자 정의 __호스트 지정 패턴 __호스트 실행 제한 __제어 머신에서 태스크 실행 __수동 팩트 수집 __호스트 IP 주소 조회 __특정 호스트가 아닌 다른 호스트에서 태스크 실행 __한 번에 하나의 호스트에서 실행 __한 번에 여러 호스트에 대해 배치 실행 __한 번만 실행 __태스크 실행 제한 ____step ____start-at-task ____태그 실행 ____태그 건너뛰기 __실행 전략 ____linear ____free __고급 핸들러 ____태스크 전/후 핸들러 ____핸들러 강제 실행 ____메타 명령 ____핸들러 간 알림 ____listen 핸들러 ____SSL에서 listen 핸들러 사용 예 __요약 12장. 윈도우 호스트 관리 __윈도우에 연결 __파워셸 __윈도우 모듈 __자바 개발 머신 __로컬 사용자 추가 __윈도우 기능 __Chocolatey를 사용해 소프트웨어 설치 __자바 설정 __윈도우 업데이트 __요약 13장. 앤서블과 컨테이너 __쿠버네티스 __도커 애플리케이션 생명주기 __레지스트리 __앤서블과 도커 __도커 데몬 연결 __Ghost 애플리케이션 __로컬 머신에서 도커 컨테이너 실행 __Dockerfile로 이미지 생성 __도커 레지스트리에 이미지 푸시 __로컬 머신에서 여러 컨테이너 관리하기 __로컬 이미지 조회 __도커화된 애플리케이션 배포 ____MySQL 구성 ____고스트 데이터베이스 배포 ____프론트엔드 ____고스트 프론트엔드 ____엔진엑스 프론트엔드 ____컨테이너 초기화 __요약 14장. Molecule을 사용한 품질 보증 __설치와 설정 __Molecule 드라이버 설정 __앤서블 롤 생성 __시나리오 ____원하는 상태 ____Molecule 시나리오 구성 ____가상 머신 관리 ____컨테이너 관리 __Molecule 명령 __린트 ____YAMLlint ____ansible-lint ____ansible-later __검증 도구 ____앤서블 ____고스 ____테스트인프라 __요약 15장. 컬렉션 __컬렉션 설치 __컬렉션 리스트 __플레이북에서 컬렉션 활용 __컬렉션 개발 __요약 __16장. 이미지 생성 __패커로 이미지 생성 ____베이그런트 버추얼박스 VM ____패커와 베이그런트 조합 ____클라우드 이미지 ____GCP ____애저 ____아마존 EC2 ____플레이북 __도커 이미지 GCC 11 __요약 17장. 클라우드 인프라 __용어 ____인스턴스 ____아마존 머신 이미지 ____태그 __자격증명 지정 ____환경 변수 ____구성 파일 __전제 조건: Boto3 파이썬 라이브러리 __동적 인벤토리 ____인벤토리 캐시 ____그 밖의 구성 옵션 __태그를 사용해 동적 그룹 정의 ____기존 리소스에 태그 적용 ____더 나은 그룹 이름 __가상 사설 클라우드 __ec2와 함께 사용할 ansible.cfg 구성 __새 인스턴스 시작 __EC2 키 쌍 ____새 키 생성 ____공개 키 업로드 __보안 그룹 ____허용 IP 주소 ____보안 그룹 포트 __최신 AMI __새 인스턴스 생성과 그룹 추가 __서버 생성 대기 __하나로 통합 __VPC 지정 ____동적 인벤토리와 VPC __요약 18장. 콜백 플러그인 __stdout 플러그인 ____ARA ____debug ____default ____dense ____json ____minimal ____null ____oneline __notification과 aggregate 플러그인 ____파이썬 요구사항 ____foreman ____jabber ____junit ____log_plays ____logentries ____logstash ____mail ____profile_roles ____profile_tasks ____say ____slack ____splunk ____timer __요약 19장. 사용자 정의 모듈 __원격 서버에 접속 가능 여부를 점검하는 예제 ____script 모듈 사용 ____can_reach 모듈 __모듈을 개발해야 하는가? __사용자 정의 모듈의 위치 __앤서블에서 모듈 호출 방법 ____인수가 있는 독립 실행 파이썬 스크립트 생성(파이썬 모듈에 해당) ____모듈을 호스트로 복사 ____호스트에서 인수 파일 생성(비 파이썬 모듈에 해당) ____모듈 호출 __예상 출력 ____앤서블의 예상 변수 출력 __파이썬 모듈 구현 ____인수 파싱 ____파라미터 접근 ____AnsibleModule 헬퍼 클래스 불러오기 ____인수 옵션 ____AnsibleModule 초기화 파라미터 ____성공/실패 반환 ____외부 명령 호출 ____체크 모드 __모듈 문서화 __모듈 디버깅 __배시에서 모듈 작성 __배시용 대체 경로 지정 __요약 20장. 앤서블 성능 개선 __SSH 다중화와 ControlPersist ____SSH 다중화 수동 설정 ____앤서블의 SSH 다중화 옵션 __SSH 최적화 ____알고리듬 권장사항 __파이프라인 ____파이프라인 설정 ____파이프라인용 호스트 구성 __앤서블용 Mitogen __팩트 캐시 ____JSON 파일 팩트 캐시 ____레디스 팩트 캐시 ____멤캐시드 팩트 캐시 __병렬 처리 __비동기 동시 태스크 __요약 21장. 네트워크와 보안 __네트워크 관리 ____지원되는 공급사 ____네트워크 자동화를 위한 앤서블 연결 ____특권 모드 ____네트워크 인벤토리 ____네트워크 자동화 사용 예시 __보안 ____규정 준수 ____안전하지만 안전하지 않은 ____섀도 IT ____선샤인 IT ____제로 트러스트 __요약 22장. CI/CD와 앤서블 __CI ____CI 시스템의 구성 요소 ____젠킨스와 앤서블 ____앤서블 롤용 CI 실행 __스테이징 __앤서블 플러그인 __앤서블 타워 플러그인 __요약 23장. 앤서블 오토메이션 플랫폼 __구독 모델 ____앤서블 오토메이션 플랫폼 시험판 __앤서블 오토메이션 플랫폼의 기능 ____접근 통제 ____프로젝트 ____인벤토리 관리 ____잡 템플릿을 통한 잡 실행 __RESTful API __AWX.AWX ____설치 ____조직 생성 ____인벤토리 생성 ____잡 탬플릿을 통해 플레이북 실행 __컨테이너를 통해 앤서블 실행 ____실행 환경 생성 __요약 24장. 모범 사례 __단순성, 모듈화, 결합성 __콘텐츠 구조화 __프로젝트와 인벤토리 분리 __롤과 컬렉션 분리 __플레이북 __코드 스타일 __모두 태그 및 테스트 __원하는 상태 __지속적인 제공 __보안 __배포 __성과 지표 __성과 측정 근거 __맺는말 |
Bas Meijer
Lorin Hochstein
Rene Moser
양정열의 다른 상품
|
◈ 이 책에서 다루는 내용 ◈
◆ 앤서블 구성 관리와 배포 ◆ 리눅스와 윈도우, 네트워크 장비 관리 ◆ 앤서블 모범 사례 적용 ◆ 새로운 컬렉션 형식의 사용 방법 ◆ 사용자 정의 모듈과 플러그인 제작 ◆ 오픈소스 미들웨어용 재사용 가능한 앤서블 콘텐츠 생성 ◆ 컨테이너 이미지와 클라우드 인스턴스용 이미지, 클라우드 인프라 ◆ CI/CD 개발 환경 자동화 ◆ 데브옵스를 위한 앤서블 오토메이션 플랫폼 사용 방법 ◈ 이 책의 대상 독자 ◈ 앤서블을 생산적으로 사용하려면 기본적인 유닉스, 리눅스 시스템 관리 작업에 익숙해야 한다. 앤서블은 작업을 쉽게 자동화해 주는 도구이지만 처리 방법을 모르는 부분까지 자동화해 주지는 않는다. 이 책에서는 적어도 하나의 리눅스 배포판(우분투나 RHEL/CentOS, SUSE 등)을 잘 알고 있으며 다음 내용을 알고 있다고 가정한다. ◈ 지은이의 말 ◈ IT 업계에서 일하기에 흥미로운 시기다. 이제는 더 이상 단일 머신에 프로그램을 설치하고 작업을 완료하는 방법으로 고객에게 소프트웨어를 제공하지 않는다. 그 대신 모두 클라우드 엔지니어로 점점 바뀌고 있다. 이제는 분산된 컴퓨팅 리소스에서 동작하며 다양한 네트워크 프로토콜로 통신하는 여러 서비스를 하나로 묶어 소프트웨어 애플리케이션을 배포한다. 일반적인 애플리케이션에는 웹 서버와 애플리케이션 서버, 메모리 기반 캐시 시스템, 작업 큐, 메시지 큐, SQL 데이터베이스, NoSQL 데이터저장소, 로드 밸런서가 포함된다. IT 전문가는 장애가 발생하면 소프트웨어 시스템에서 문제가 적절히 처리될 수 있도록 중복성을 확보해야 한다. 그리고 로깅과 모니터링, 분석과 같은 보조 서비스를 배포하고 유지보수해야 하며, 가상 머신 인스턴스를 관리하기 위한 IaaS(Infrastructure as a Service) 엔드 포인트(endpoint)와 같은 서드파티(third-party) 서비스도 활용해야 한다. 이러한 서비스는 직접 구성할 수 있다. 즉, 필요한 서버를 구동시키고 각각의 서버에 접속해 필요한 패키지를 설치하고 설정 파일을 편집하는 등의 작업을 직접 할 수 있지만 힘든 일이다. 이러한 작업을 수동으로 하면 많은 시간이 들고 오류가 발생하기 쉬우며 아주 지루하다. 특히 여러 번 반복하면 정말 지루해진다. 더욱이 오픈스택(OpenStack) 클라우드를 구축하는 것처럼 좀 더 복잡한 작업에서 이러한 작업을 직접 하는 것은 미친 짓이다. 더 나은 방법을 찾아야 한다. 이 글을 읽고 있다면 이미 구성 관리를 생각하고 있으며 구성 관리 도구로 앤서블을 고려하고 있을 것이다. 상용 환경에 자신의 코드를 배포하는 개발자나 자동화를 위해 더 나은 방법을 찾고 있는 시스템 관리자라면 당면한 문제에 대한 최선의 해결책으로 앤서블을 찾게 될 것이다. ◈ 옮긴이의 말 ◈ 이 책은 현대 IT 자동화의 핵심 도구로 자리 잡은 앤서블에 대한 깊이 있는 이해를 제공한다. 초보자부터 전문가까지 다양한 수준의 독자들이 앤서블을 통해 인프라 관리와 애플리케이션 배포를 어떻게 간편하고 효율적으로 자동화할 수 있는지 배울 수 있도록 구성되어 있다. 앤서블의 기본 개념과 동작 원리의 설명을 시작으로, 앤서블이 왜 개발됐는지, 어떤 문제를 해결하는지, 그리고 기존의 자동화 도구와 어떤 차이점이 있는지 쉽게 이해할 수 있도록 풀어낸다. 이를 통해 앤서블의 에이전트리스(Agentless) 아키텍처와 인간이 읽기 쉬운 YAML 형식의 플레이북을 작성하는 방법을 배우게 된다. 이러한 기초 지식은 앤서블을 처음 접하는 독자들이나 비기술적 배경을 가진 독자들도 쉽게 이해할 수 있다. 더불어, 앤서블을 실제로 어떻게 사용할 수 있는지를 다양한 예제를 통해 자세히 설명한다. 서버 설정 자동화, 클라우드 환경 관리, 애플리케이션 배포와 같은 일반적인 IT 작업부터 복잡한 네트워크 머신의 구성까지 다양한 시나리오를 다루고 있어, 실무에서 앤서블을 어떻게 활용할 수 있는지를 명확하게 이해할 수 있다. 이 과정에서 앤서블의 모듈과 플러그인을 활용해 효율적이고 재사용 가능한 자동화 작업을 구성하는 방법을 배울 수 있다. 또한 고급 사용자를 위한 심화 내용도 다룬다. 앤서블 타워(Ansible Tower) 같은 관리 도구를 통해 대규모 인프라를 어떻게 모니터링하고 관리할 수 있는지, 그리고 멀티 클라우드 환경에서 앤서블을 활용하는 방법을 설명한다. 해당 장은 이미 앤서블을 사용하고 있는 전문가들이 좀 더 높은 수준의 자동화와 통합을 달성할 수 있도록 돕는다. 마지막으로, 앤서블의 최신 기능과 향후 발전 방향에 대한 통찰을 제공한다. 커뮤니티에서 활발히 기여하고 있는 오픈소스 프로젝트로서 앤서블이 어떻게 진화하고 있는지, 그리고 앞으로의 자동화 기술이 IT 인프라 관리에 미칠 영향을 살펴본다. 이를 통해 앤서블을 단순한 도구로서가 아닌, IT 자동화의 미래를 이끌어 갈 중요한 기술로 인식하게 될 것이다. 이 책은 앤서블을 배우고자 하는 모든 이에게 훌륭한 가이드가 될 것이다. 초보자에게는 친절한 입문서로, 전문가에게는 깊이 있는 참고서로 사용될수 있으며, 누구나 IT 자동화의 혜택을 누릴 수 있도록 돕는다. 앤서블을 통해 자동화의 세계를 탐구하고, 복잡한 인프라 관리의 효율성을 극대화하고자 하는 모든 이들에게 이 책을 추천한다. |
|
바스 마이어는 로린 혹스테인, 르네 모저에서 시작된 이미 좋은 책 내용의 최신화 작업을 진행했다. 초보자나 중급, 고급 앤서블 사용자에 관계없이 읽어야 할 책이다. - 얀-피트 멘스(Jan-Piet Mens) (컨설턴트)
|