시스템 관리자를 위한 Puppet 3 [클라우드 환경을 위한 최적의 관리 도구]
- 원서명Puppet 3 Beginner's Guide (ISBN 9781782161240)
- 지은이존 아룬델
- 옮긴이김남곤, 이정효
- ISBN : 9788960776265
- 25,000원
- 2014년 10월 23일 펴냄 (절판)
- 페이퍼백 | 244쪽 | 188*235mm
- 시리즈 : acorn+PACKT
판매처
- 현재 이 도서는 구매할 수 없습니다.
책 소개
요약
시스템 관리자는 자신이 맡고 있는 시스템과 업무 자체의 신뢰성을 높이기 위해 여러 가지 도구를 이용한다. 퍼펫(Puppet)은 이미 검증된 가장 대중화된 도구이며, 이 책은 단계별로 간단한 예제와 충분한 설명을 제공하여 당장 업무에 활용할 수 있도록 도와주고. 퍼펫에 생소한 초보자라도 어떤 용도로 퍼펫을 사용하고, 자신의 업무에 도움이 될 수 있는지 느끼도록 구성되어 있다.
이 책에서 다루는 내용
퍼펫 설치와 구성 방법
여러 서버를 퍼펫으로 관리하는 방법
번개처럼 빠른 설치를 위한 설정 파일과 템플릿 배포 방법
보고서 생성과 모니터링 방법
사용자 계정, 보안, 접근 제어와 작업 예약 관리 방법
깃(Git)을 이용한 퍼펫 코드 관리 실무
이 책의 대상 독자
이 책은 시스템 관리자나 개발자, 그리고 커맨드 라인에서 직접 파일을 수정하는 기본 작업이 포함된 시스템 관리 업무가 필요한 사람을 대상으로 하며, 퍼펫을 이용하여 더 많은 작업을 하면서도 삶은 좀 더 쉽게 만드는 것을 목표로 한다.
이 책의 구성
1장. ‘퍼펫 소개’에서는 설정 관리의 문제점과 왜 전통적인 수작업 방식이 확장성이 없는지를 설명한다. 이런 문제를 퍼펫이 어떻게 효과적으로 처리하는지 보여주고, 퍼펫의 기본 구조에 대해 소개한다.
2장. ‘퍼펫 시작’에서는 처음 퍼펫을 설치하고, 간단한 매니페스트를 생성하여 장치에 적용하는 과정을 안내한다. 퍼펫 언어를 이용하여 텍스트 파일 같은 자원을 어떻게 묘사하고 수정하는지 볼 수 있다.
3장. ‘패키지와 파일, 서비스’에서는 중요한 자원 타입에 대한 사용 방법을 설명하고, 어떻게 그들이 함께 동작하는지 보여준다. 엔진엑스 웹 서버를 기반으로 완벽하고 유용한 예제를 살펴본다.
4장. ‘깃을 이용한 퍼펫 관리’에서는 퍼펫을 이용하여 장치들을 연결하고, 깃(Git) 버전 관리 시스템을 이용하여 매니페스트를 배포하고 협력하는 간단하고 강력한 방법을 설명한다.
5장. ‘사용자 관리’에서는 사용자 관리에 대한 몇 가지 좋은 사례를 설명하고, 이를 구현하기 위해 퍼펫을 사용하는 방법을 보여준다. 또한, SSH를 이용하여 액세스를 제어하고, sudo를 이용하여 사용자 권한을 관리하는 방법을 설명한다.
6장. ‘작업과 템플릿’에서는 자동화에 대한 주요 요소를 다룬다. 작업 스케줄을 설정하고 퍼펫의 템플릿 메커니즘을 이용하여 동적 데이터로부터 설정 파일을 생성하는 방법을 설명한다.
7장. ‘정의와 클래스’에서는 이전 장들을 기반으로, 재사용 가능한 모듈과 객체를 만들기 위해 퍼펫 코드를 어떻게 구성하는지 보여준다. 정의와 클래스를 생성하는 방법과 파라미터들을 전달하는 방법에 대해서도 설명한다.
8장. ‘표현식과 로직’에서는 퍼펫 언어에 대해서 탐구하고, 조건문과 논리 표현식을 이용하여 어떻게 플로우 제어를 하는지, 그리고 산술 및 문자열 표현식을 어떻게 만드는지 보여준다. 또한 연산자와 배열, 해시를 다룬다.
9장. ‘리포팅 및 문제 해결’에서는 퍼펫을 이용한 작업의 실질적인 부분에 대해 살펴본다. 일반적인 문제들에 대해 어떻게 진단하고, 해결하며, 퍼펫 동작을 디버깅하는 방법과 에러 메시지를 해석하는 방법을 설명한다.
10장. ‘퍼펫 나아가기’에서는 퍼펫 코드를 더 우아하고, 읽기 쉽고, 유지보수를 용이하게 만드는 방법을 보여준다. 더 상세한 내용을 얻기 위한 링크와 제안들을 제공하고, 퍼펫을 이용하여 비즈니스 가치를 전달하는 데 도움이 되는 실질적인 일련의 프로젝트들을 소개한다.
목차
목차
- 1장 퍼펫 소개
- 문제점
- 형상 관리
- 시스템 관리자의 하루 일과
- 설정을 동기화해 유지
- 여러 서버를 반복해서 수정
- 문서 자동 업데이트
- 기종 플랫폼에 대한 대처
- 버전 관리와 히스토리
- 문제 해결
- 사용할 도구 제작
- 노력의 낭비
- 이전 가능한 기술
- 형상 관리 도구
- 코드로서의 인프라
- 데브옵의 시작
- 직업 만족도
- 퍼펫의 장점
- 퍼펫의 의미
- 퍼펫 언어
- 자원과 속성
- 정리
- 형상 관리
- 퍼펫이 하는 일
- 퍼펫의 장점
- 확장성
- 퍼펫의 언어
- 2장 퍼펫 시작
- 준비 사항
- 실습 예제 | 퍼펫을 위한 사전 준비
- 실습 예제 | 퍼펫 설치
- 처음 작성하는 매니페스트
- 작동 원리
- 매니페스트 적용
- 파일 수정
- 연습
- 매니페스트 구조화
- 실습 예제 | 디렉토리 구조 생성
- Nodes.pp 파일 생성
- 실습 예제 | 노드 선언
- 정리
- 퍼펫 설치
- 매니페스트
- 노드
- 3장 패키지와 파일, 서비스
- 패키지
- 실습 예제 | 엔진엑스 설치
- 패키지에 대한 추가 내용
- 모듈
- 실습 예제 | 엔진엑스 모듈 생성
- 실습 예제 | puppet apply 명령어 생성
- 서비스
- 실습 예제 | 엔진엑스 서비스 등록
- 자원 요청
- 서비스에 대한 추가 사항
- 파일
- 실습 예제 | 가상호스트 생성
- 다른 자원 호출
- 패키지-파일-서비스 패턴
- 연습
- 정리
- 패키지
- 모듈
- 서비스
- 자원 의존성
- 파일
- 4장 Git을 이용한 퍼펫 관리
- 버전 관리
- 실습 예제 | 깃에 매니페스트 등록
- 실습 예제 | 변경 사항을 커밋하고 검사
- 적절한 커밋 횟수
- 브랜치 생성
- 퍼펫 매니페스트 배포
- 신뢰성
- 확장성
- 단순함
- 실습 예제 | 깃 저장소 생성
- 실습 예제 | 새로운 장치에 저장소 복제
- 실습 예제 | 새로운 노드 추가
- 실습 예제 | 마스터 저장소로 변경 사항 푸시
- 연습
- 자동으로 변경 사항 가져오기
- 실습 예제 | 자동으로 가져와서 적용하는 스크립트
- 깃에 대한 추가 내용
- 정리
- 버전 관리를 하는 이유
- 깃 시작
- 퍼펫 네트워킹
- 5장 사용자 관리
- 사용자
- 보안과 접속 제어
- 퍼펫으로 할 수 있는 일
- 실습 예제 | 사용자 생성
- 사용자 계정 삭제
- 접속 제어
- SSH
- SSH 키 관리
- 실습 예제 | SSH 인증키 등록
- 새로운 SSH 키 생성
- 특별한 목적의 키
- 사용자 계정 잠금
- SSH 설정 관리
- 실습 예제 | SSH 설정 파일 배포
- 사용자 권한
- sudo
- 실습 예제 | sudoers 파일 배포
- 정리
- 보안 방법
- User 자원
- SSH 설정
- sudo을 이용한 권한 관리
- 6장 작업과 템플릿
- Exec 자원을 이용해 명령어 실행
- 실습 예제 | 임의의 명령어 실행
- 명령어를 선택적으로 실행
- 명령어 트리거링
- 명령어 연결
- 명령어 검색 경로
- 작업 예약
- 실습 예제 | 백업 예약
- 다른 예약 옵션
- 주기마다 실행
- 특정한 사용자만 작업 수행
- 연습
- 파일 배포
- 실습 예제 | 순환(recursive) 파일 자원 이용
- 템플릿 사용
- 실습 예제 | 템플릿으로 Nginx 가상호스트 생성
- 인라인템플릿
- 시스템 값
- 산술 표현
- 종합
- 정리
- Exec 자원
- 작업 예약
- 순환 파일 자원
- 템플릿
- 7장 정의와 클래스
- 자원을 배열로 그룹화하기
- 정의
- Definition에 매개변수 전달
- 옵션 매개변수
- 실습 예제 | 엔진엑스 웹사이트를 위한 Definition 생성
- 여러 개의 Definition 인스턴스
- 연습
- 클래스
- 클래스 정의
- 모듈 내부에 클래스 두기
- 클래스 선언
- 클래스와 Definition의 차이점
- 실습 예제 | NTP 클래스 생성
- 정리
- 배열
- 정의
- 클래스
- 8장 표현식과 로직
- 조건문
- if 문
- else와 elsif
- Unless 문
- case 문
- 셀렉터
- 표현식
- 비교문
- Boolean 연산자
- 산술 연산자
- 정규 표현식
- 연산자
- 문법
- 조건문
- 대체
- 노드 정의
- 배열과 해시
- 배열로 자원 그룹화
- 배열에서 값 가져오기
- 해시
- 다단계 해시
- 해시 키 테스트
- 정리
- 조건문
- 연산자
- 정규표현식
- 텍스트 대체
- 배열
- 해시
- 9장 리포팅 및 문제 해결
- 리포팅
- 요약 리포트
- 리포트 활성화
- 리포트에는 담긴 내용
- 실습 예제 | 리포트 생성
- 리포트 이용
- 디버그 실행
- Noop 실행
- 구문 오류 검사
- 디버그 출력
- 자원 알림
- Exec 출력
- 모니터링
- 퍼펫을 이용한 모니터링 관리
- 모니터링 대상
- 퍼펫의 상태 모니터링
- 퍼펫 사용의 문제점
- 동기화 유지
- 에러
- 컴파일 에러
- 명령어 옵션 오타
- 정리
- 리포팅
- 디버그와 시험 모드
- 메시지 출력
- 퍼펫 모니터링
- 일반적인 퍼펫 에러
- 10장 퍼펫 나아가기
- 퍼펫 스타일
- 코드를 모듈로 분리
- 공통 코드를 Definition으로 리팩토링
- 노드 선언은 간단하게 한다
- 퍼펫 린트 사용
- 주석이 필요 없는 코드 제작
- 퍼펫 관련 학습 자료
- 참조 문서
- 모듈과 코드
- 프로젝트
- 모든 장치에서 퍼펫 사용
- 사용자 계정
- 시스템 도구 상자
- 시간 동기화
- 서버 모니터링
- 중요 서비스를 퍼펫으로 관리
- 자동으로 백업
- 시험 서버 구축
- 모든 것을 자동화
- 맺음말
도서 오류 신고
정오표
정오표
2016. 7. 26 수정 사항
[p114. 아래에서 6행]
마자막으로
->
마지막으로
[p125. 6장 제목]
사용자 관리
->
작업과 템플릿