CoreDNS 시작하기 (클라우드 네이티브 환경을 위한 DNS | Learning CoreDNS)

CoreDNS 시작하기 (클라우드 네이티브 환경을 위한 DNS | Learning CoreDNS)

$25.22
Description
기본적인 DNS 이론과 가상서버, 컨테이너 환경에서 실습 중심으로 CoreDNS 구성 요소와 특징을 설명한다. 또한 CoreDNS의 다양한 영역 데이터 관리 방법과 DNS 질의응답 방법에 관해 설명하며, 쿠버네티스 환경에서 서비스 검색 기능을 살펴볼 수 있다. 그 외에도 CoreDNS 기본 플러그인에서 사용자 정의 플러그인까지 다양한 방식의 플러그인 활용법과 체인 적용, CoreDNS 모니터링 및 문제 발생시 해결 방법을 소개한다.
저자

존벨라마릭

JohnBelamaric
20년이상의소프트웨어설계와개발경력을쌓은경험이풍부한소프트웨어엔지니어겸아키텍트다.쿠버네티스와GKE에초점을맞춘구글클라우드팀에서일하고있다.또한쿠버네티스와기타컨테이너,클라우드스택에서동적DNS기반서비스검색을제공하는CNCF프로젝트인CoreDNS의핵심관리자다.그는구글의수석소프트웨어엔지니어로3가지특허를보유하고있으며,『OpenStackCloudApplicationDevelopment』(O'Reilly,2015)의공동저자다.

목차

1장.소개
__CoreDNS란무엇인가?
____CoreDNS,컨테이너,마이크로서비스
____CoreDNS제약사항
____CoreDNS,쿠버네티스,CNCF

2장.DNS소개
__도메인이름시스템이란?
__도메인이름과네임스페이스
__도메인,위임및영역
__리소스레코드
__DNS서버및권한
__해석기
__해석과재귀
__캐싱
__리소스레코드
____NAME
____TTL
____CLASS
__리소스레코드유형
____A레코드
____AAAA레코드
____CNAME레코드
____MX레코드
____NS레코드
____SRV레코드
____PTR레코드
____SOA레코드
__주석영역데이터파일

3장.CoreDNS설정
__CoreDNS설치
__CoreDNS명령어옵션
__코어파일구문
____환경변수
____재사용가능코드조각
____임포트
____서버블록
____질의처리
__플러그인
____루트플러그인
____파일플러그인
____보조플러그인
____전달플러그인
____캐시플러그인
____오류플러그인
____로그플러그인
__공통설정옵션
____대체
____tls
____전송
__샘플DNS서버설정
____캐싱전용DNS서버
____주DNS서버
____보조DNS서버

4장.영역데이터관리
__파일플러그인
__자동플러그인
__Git연동자동플러그인
__호스트플러그인
__route53플러그인


5장.서비스검색
__서비스검색소개
__서비스검색문제해결
__CoreDNS및etcd를통한서비스검색
____etcd플러그인
____타서비스검색옵션
__서비스검색및컨테이너오케스트레이션

6장.쿠버네티스
__기본개념
__쿠버네티스네트워킹
____클러스터IP서비스
____헤드리스서비스
__쿠버네티스DNS사양
__CoreDNS통합
__기본구성
__스텁도메인및페더레이션
__클러스터DNS배포리소스
____역할기반액세스제어
____서비스
____배포
__오토스케일링
__향상된구성
__쿠버네티스플러그인
__CoreDNS확장프로그램
____포드옵션
____와일드카드질의
____자동경로및Dreadedndots:5
____영역전송지원
____외부서비스노출
____사용가능한레코드수정

7장.질의및응답조작
__템플릿플러그인
__재작성플러그인
____EDNS0옵션에대한재작성플러그인사용
____다중재작성규칙
__메타데이터플러그인
__DNS보안확장을사용한응답서명
____DNSSEC서명주영역관리
____dnssec플러그인을사용한즉각적인DNSSEC서명
__사례연구:인포블록스의BloxOne위협방어
____사용자식별
____정책적용

8장.모니터링및문제해결
__prometheus플러그인
__로그플러그인
__dnstap플러그인
__오류플러그인
__추적플러그인
__디버그플러그인

9장.사용자정의서버구축
__외부플러그인을사용한CoreDNS컴파일
____도커를사용한빌드
____워크스테이션에서의빌드방법
____plugin,cfg수정
____메인함수로대체하는방법
__사용자정의플러그인작성
____유일한플러그인
____메트릭,추적,메타데이터와통합

출판사 서평

★이책에서다루는내용★

■DNS이론:DNS네임스페이스,도메인이름,도메인및영역
■CoreDNS서버구성방법
■CoreDNS를사용해기본에서고급영역데이터관리및제공
■etcd와쿠버네티스를사용한CoreDNS서비스검색구성
■쿠버네티스와의통합
■플러그인체인을통과하는질의와응답조작
■DNS서비스의가용성과성능모니터링,문제해결
■CoreDNS사용자정의버전빌드와플러그인작성

★이책의대상독자★
■쿠버네티스와같은환경을관리하는DNS기반서비스검색이필요한컨테이너환경의관리자
■컨테이너에서실행할수있는작고유연한DNS서버를찾는DNS관리자
■다음과같은DNS서버를찾는DNS관리자
-AWSRoute53과통합
-질의및응답에따라유연한재작성지원
-DNSover전송계층보안과범용원격프로시저지원
■CoreDNS플러그인을작성해사용자지정DNS기능을구현하려는개발자

★이책의구성★
1장,‘소개’에서는CoreDNS의사용이유와한계를포함해다른DNS서버와어떻게다른지를설명한다.또한클라우드네이티브ComputingFoundation과관계가깊은CoreDNS의역사를다룬다.
2장,‘DNS소개’에서는기본DNS이론과DNS서버및해석기의역할,DNS네임스페이스의구조,다양한리소스레코드의구문및의미를포함해도메인이름서버가작동하는방식을살펴본다.
3장,‘CoreDNS설정’에서는CoreDNS서버설정(Configure)에흥미를불러일으킬수있는내용을준비했다.
CoreDNS는영역데이터를관리하는다양한방법을지원한다.영역데이터파일과같이DNS관리자에게친숙한방법과Git사용같은현대적인방법,호스트테이블같은복고적인방법도있다.4장,‘영역데이터관리’에서는앞서언급한내용을모두다룬다.
5장,‘서비스검색’에서는서비스검색의기본사항과CoreDNS및etcd를사용해동적환경에서서비스검색을수행하는방법을설명한다.
6장,‘쿠버네티스’에서는먼저쿠버네티스의기본사항을설명하고CoreDNS의가장일반적인사용사례중하나인쿠버네티스와의통합을다룬다.
7장,‘질의및응답조작’에서는요청및응답을조작하는데가장일반적으로사용되는플러그인을설명한다.
8장,‘모니터링및문제해결’에서는CoreDNS를모니터링하고질의및응답을로깅하고문제를진단하는데도움이되는플러그인(Plugin)을다룬다.
9장,‘사용자정의서버구축’CoreDNS코드는라이브러리로쉽게사용할수있도록구조화돼있다.즉,자신만의main루틴을만들고전체CoreDNS코드를라이브러리로처리할수있다.9장에서는이러한옵션을모두다룬다.

★옮긴이의말★

CoreDNS는클라우드네이티브환경에알맞은DNS서버로클라우드네이티브컴퓨팅재단(CNCF,CloudNativeComputingFoundation)에서졸업한프로젝트다.기본적인DNS명세를준수해범용성과유연성때문에쿠버네티스등다양한클러스터환경에서사용할수있고아파치라이센스를명시한완전한오픈소스로무료로사용할수있다.
CoreDNS의장점은Go언어로작성돼설정이빠르고간단하다는것이다.또한플러그인을모듈형태로작성하고컨피그맵에반영해DNS서비스검색에대한설정을손쉽게변경할수있으며,플러그인을연이어적용가능한체인구조로다양하게구성할수있다.물론이러한플러그인을통해메트릭모니터링역시손쉽게연동할수있다.
CoreDNS는쿠버네티스와프로메테우스,Etcd등유명한오픈소스와의플러그인을비롯해메이저클라우드사인AWS,MSAzure,GCP에서제공중인DNS서비스와의플러그인연동을통해뛰어난호환성을가지고다양한환경에서사용이가능하다.
특히쿠버네티스클러스터의기본DNS로내장돼있기때문에클러스터내부도메인기반으로바인딩된서비스의ClusterIP나자주변경되는POD의IP를대신해조회가가능한용도로많이사용된다.그래서쿠버네티스상에서의서비스검색기능을기본적으로구현할수있어마이크로서비스아키텍처에걸맞게구성하고관리할수있다.
역자는쿠버네티스를기반으로컨테이너플랫폼을구축,운영한경험을토대로CoreDNS를처음접하고시작하는분들께도움되고자번역을진행했다.번역과정에서CoreDNS에는많은버전변화가있었고,CNCF생태계와함께다양한유관프로젝트와툴이지금이시간에도계속개발되고있기에이부분을최대한반영하려고노력했다.
이책은DNS의이론과함께실습중심으로CoreDNS의구성요소와특징을설명하며,가상서버와쿠버네티스환경에서CoreDNS관련기능을명령어기반으로직접수행할수있기에CoreDNS를사용해보고자하는다양한사용자에게도움이될것이다.