프로덕션 쿠버네티스 (애플리케이션 플랫폼 구축을 위한)
Description
쿠버네티스 기반 플랫폼의 구축과 운영에 필요한 핵심 요소, 실제 문제 해결 방법, 확장 가능한 아키텍처 디자인, 사용자 요구 고려, 도구 선택, 운영환경 방식에 대한 이해를 도와 효율적인 플랫폼을 구현하는 방법을 습득한다. 또한 이를 통해 쿠버네티스 기반 플랫폼 개발과 운영에 필요한 전반적인 지식을 활용할 수 있다.
저자

조쉬로소,리치랜더,알렉산더브랜드,존해리스

금융분야의데브옵스(DevOps)엔지니어로핀테크금융플랫폼및안전한소프트웨어개발과운영환경을갖추는데기여했으며,SI분야에서는클라우드엔지니어로다양한프로젝트에서클라우드솔루션의성과를이끌어냈다.
현재는SK온에서EV배터리생산에최적화된스마트팩토리데이터플랫폼구축과데브옵스기반AI/MLOps환경제공에주력하고있다.기술적도전과혁신을선도하며,효율적인소프트웨어개발및운영을실현하기위해최선의기술을활용하는데초점을맞추고있다.
다양한기업과프로젝트에서의경험에서비롯된기술적역량을번역에녹여독자에게복잡한기술내용을이해하기쉽게전달하고자노력하고있다.

목차

1장.쿠버네티스운영준비
__쿠버네티스정의
____중요컴포넌트
____컨테이너오케스트레이션이상의확장기능
____쿠버네티스인터페이스
____쿠버네티스요약
__애플리케이션플랫폼도입방식
____플랫폼구축접근범위
____조직의요구사항조정
____애플리케이션플랫폼요약
____쿠버네티스기반애플리케이션플랫폼구축
____기반부터시작하기
____추상화범위
____플랫폼서비스결정
____구축블록
__요약


2장.쿠버네티스배포모델
__관리형서비스와셀프서비스비교
____관리형서비스
____자체서비스
____배포모델결정
__자동화
____쿠버네티스설치소프트웨어
____사용자정의자동화
__아키텍처및토폴로지
____etcd배포모델
____클러스터티어
____노드풀
____클러스터페더레이션
____인프라스트럭처
____베어메탈과가상화비교
____클러스터사이즈조정
____컴퓨팅인프라
____네트워크인프라
____자동화전략
__서버설치
____구성관리도구
____VM이미지
____VM설치시필요한항목
__컨테이너형컴포넌트
__애드온
__업그레이드
____플랫폼버전관리
____실패대응계획
____통합테스트
____업그레이드전략
__트리거메커니즘
__요약


3장.컨테이너런타임
__컨테이너의출현
__오픈컨테이너이니셔티브
____OCI런타임명세
__컨테이너런타임인터페이스
____파드시작
__런타임선택
____도커
____컨테이너
____CRI-O
____카타컨테이너
____VirtualKubelet
__요약


4장.컨테이너스토리지
__스토리지고려사항
____액세스모드
____볼륨확장
____볼륨프로비저닝
____백업및복구
____블록디바이스및파일,오브젝트스토리지
____임시데이터
____스토리지프로바이더선택
__쿠버네티스스토리지기본요소
____퍼시스턴트볼륨및클레임
____스토리지클래스
__컨테이너스토리지인터페이스
____CSI컨트롤러
____CSINode
__StorageasaService구현
____설치
____스토리지옵션기준
____스토리지사용
____리사이징
____스냅숏
__요약


5장.파드네트워크
__네트워크고려사항
____IP주소관리
____라우팅프로토콜
____캡슐화및터널링
____워크로드라우팅가능성
____IPv4및IPv6
____암호화된워크로드트래픽
____네트워크폴리시
____요약:네트워크고려사항
__컨테이너네트워크인터페이스
____CNI설치
__CNI플러그인
____캘리코
____실리움
____AWSVPCCNI
____멀터스
____추가플러그인
__요약


6장.서비스라우팅
__쿠버네티스서비스
____서비스추상화
____엔드포인트
____서비스구현세부정보
____서비스디스커버리
____DNS서비스성능
__인그레스
____인그레스적용사례
____인그레스API
____인그레스컨트롤러및작동방식
____인그레스트래픽패턴
____인그레스컨트롤러선택
____인그레스컨트롤러배포고려사항
____DNS및인그레스역할
____TLS인증서처리
__서비스메시
____서비스메시사용사례
____서비스메시인터페이스
____데이터플레인프록시
____쿠버네티스서비스메시
____데이터플레인아키텍처
____서비스메시채택
__요약


7장.시크릿관리
__심층방어
____디스크암호화
____전송보안
____애플리케이션암호화
__쿠버네티스시크릿API
____시크릿소비모델
____etcd시크릿데이터
____정적키암호화
____봉투암호화
__외부프로바이더
____볼트
____사이버아크
____시크릿주입통합
____CSI통합
__선언적관리방식
____시크릿봉인
____sealed-secret-controller
____키갱신
____멀티클러스터모델
__시크릿모범사례
____시크릿상호작용감사
____시크릿누출금지
____볼륨선호방식
____애플리케이션에시크릿저장소프로바이더를알수없도록설정
__요약


8장.어드미션컨트롤
__쿠버네티스어드미션체인
__어드미션컨트롤러관련범위
__웹훅
____웹훅어드미션컨트롤러설정
____웹훅디자인고려사항
__변형웹훅작성
____일반HTTPS핸들러
____컨트롤러런타임
__중앙집중식정책시스템
__요약


9장.관찰가능성
__로깅동작방식
____컨테이너로그처리
____쿠버네티스감사로그
____쿠버네티스이벤트
____로그경보
____보안영향
__메트릭
____프로메테우스
____장기보관
____푸시메트릭
____사용자정의메트릭
____조직및페더레이션
____경보
____쇼백과차지백
____메트릭컴포넌트
__분산트레이싱
____오픈트레이싱및오픈텔레메트리
____트레이싱컴포넌트
____애플리케이션계측
____서비스메시
__요약


10장.식별
__사용자식별
____인증방법
____사용자최소권한구현
__애플리케이션/워크로드식별
____공유시크릿
____네트워크식별
____서비스어카운트토큰
____예상서비스어카운트토큰
____플랫폼중재노드식별
__요약


11장.플랫폼서비스구축
__확장점
____플러그인확장
____웹훅확장
____오퍼레이터확장
__오퍼레이터패턴
____쿠버네티스컨트롤러
____사용자정의리소스
__오퍼레이터사용사례
____플랫폼유틸리티
____범용워크로드오퍼레이터
____앱별오퍼레이터
__오퍼레이터개발
____오퍼레이터개발도구사용
____데이터모델설계
____로직구현
__스케줄러확장
____판단식및우선순위
____스케줄링정책
____스케줄링프로필
____다중스케줄러
____사용자정의스케줄러
__요약


12장.멀티테넌시
__격리정도
____싱글테넌트클러스터
____멀티테넌트클러스터
__네임스페이스경계
__쿠버네티스멀티테넌시
____RBAC
____리소스할당량
____어드미션웹훅
____리소스요청및제한
____네트워크정책
____파드시큐리티폴리시
____멀티테넌트플랫폼서비스
__요약


13장.오토스케일링
__스케일링유형
__애플리케이션아키텍처
__워크로드오토스케일링
____수평파드오토스케일러
____수직파드오토스케일링
____사용자정의측정항목을사용한오토스케일링
____클러스터비례오토스케일러
____사용자정의오토스케일링
__클러스터오토스케일링
____클러스터오버프로비저닝
__요약


14장.애플리케이션고려사항
__쿠버네티스에애플리케이션배포
____배포매니페스트템플릿
____쿠버네티스용애플리케이션패키징
__설정및시크릿수집
____쿠버네티스컨피그맵및시크릿
____외부시스템에서설정가져오기
__스케줄링조정이벤트처리
____Pre-stop컨테이너생명주기훅
____정상적인컨테이너종료
____가용성요구사항충족
__상태프로브
____라이브니스프로브
____레디니스프로브
____시작프로브
____프로브구현
__파드리소스요청및제한
____리소스요청
____리소스제한
__애플리케이션로그
____로그내용
____구조화되지않은로그와구조화된로그
____로그의컨텍스트정보
__메트릭노출
____애플리케이션계측
____USE방법
____RED방법
____네가지골든시그널
____애플리케이션특정메트릭
__분산트레이싱을위한계측서비스
____트레이싱도구초기화
____스팬생성
____컨텍스트전파
__요약


15장.CI/CD파이프라인
__컨테이너이미지빌드
____골든베이스이미지안티패턴
____베이스이미지선택
____런타임사용자
____패키지버전고정
____빌드와런타임이미지비교
____클라우드네이티브빌드팩
__이미지레지스트리
____취약점스캐닝
____검역워크플로
____이미지서명
__지속적전달
____파이프라인에빌드통합
____푸시기반배포
____롤아웃패턴
____깃옵스
__요약


16장.플랫폼추상화
__플랫폼노출
__자체서비스온보딩
__추상화범위
____커맨드라인툴
____템플릿을통한추상화
____쿠버네티스초기추상화
____쿠버네티스를보이지않게만들기
__요약

출판사 서평

◈추천의글◈

쿠버네티스가공개된지6년이지났고,공개됐을때부터저자는쿠버네티스개발조직에소속돼실제로쿠버네티스프로젝트에첫번째커밋을수행했다(공개릴리즈를위한클린리포지터리를만드는과정에서의유지보수를담당했다).쿠버네티스는기대이상의성공을거뒀다고자신있게말할수있다.성공의기반에는규모가큰오픈소스커뮤니티와현실세계와의격차를해소하려는기여자들의적극적인참여가있었다.
쿠버네티스를일반기업에제공한다는사명으로공동설립한스타트업헵티오(Heptio)에서저자와협력할수있었다.헵티오에서성공의대부분은실질적인문제를해결함에있었고,쿠버네티스의실제사용자와직접연결하는동료의노력이있었기에감사의뜻을전하고싶다.쿠버네티스를운영환경에서실제로작동하는데필요한도구를팀에제공하기위한현장의경험을전하려는목적을두고이책을썼다.
저자의전체경력은애플리케이션팀과개발자를대상으로한시스템구축을기반으로한다.마이크로소프트인터넷익스플로러(MicrosoftInternetExplorer)부터윈도우프레젠테이션파운데이션(WindowsPresentationFoundation)에서계속되고,구글컴퓨트엔진(GoogleComputeEngine)과쿠버네티스및클라우드로전환됐다.현장에서‘플랫폼빌더의저주’라는현상으로부터플랫폼을구축하는사람들이고통받는것을여러차례목격했다.플랫폼을구축하고있는사람들은수십년동안안정적인기반을구축하는문제에초점을맞추고있다.그러나그안정적인기반에초점을맞추면서현재사용자가겪고있는문제에사각지대가생기게된다.종종사용자가구축하고있는것을실제로사용하도록연결하는시간에문제가없도록빠른시일내구축하는시간이부족하다.
‘플랫폼빌더의저주’를극복하려면플랫폼빌더의거품바깥쪽에서적극적으로해결가능한정보를찾는방법이유일한해결책이다.정보를찾는일은헵티오의필드엔지니어링팀(이후에는VMware쿠버네티스아키텍처팀-KAT)이수행했다.이팀은업계의다양한고객이쿠버네티스에서성공할수있도록도움을주는것이상으로,플랫폼의‘이론’이어떻게적용되는지현실에반영할수있는중요한창구역할을했다.
플랫폼빌더문제는쿠버네티스와CNCF(CloudNativeComputingFoundation)를중심으로구축되고번창하는생태계로인해더욱악화된다.여기에는CNCF의일부프로젝트와더넓은영역에속한프로젝트모두가포함된다.이생태계를‘아름다운혼돈’이라고표현하는데,이는서로다른정도의중복과성숙함을가진열대우림과같은모습을한프로젝트이기때문이다.그러나열대우림을탐험하는것처럼쿠버네티스생태계를탐험하려면헌신의시간이필요하고위험이따른다.쿠버네티스세계에첫발을딛은사용자는더큰생태계의전문가가되기위한시간이나능력이부족하다.
이책은쿠버네티스생태계의구성요소를소개한다.또한개별도구와프로젝트가언제적합한지를보여주며,독자가고민하는문제를적절한도구로평가하는방법을소개한다.특정도구를사용하라고독자에게권하는것을넘어,문제의종류를해결하는일련의도구를이해하는더큰프레임워크라는특징을설명한다.문제의존재여부를파악하고,다양한접근방식의강점과약점을알고,실제로시작하는데실용적인조언을제공한다.쿠버네티스를프로덕션환경으로전환하려는사람에게매우가치있는정보가가득하다.

-조베다(JoeBeda),
VMware탄주(Tanzu)의수석엔지니어,쿠버네티스공동창시자

◈이책에서다루는내용◈
◆견고한쿠버네티스기반플랫폼구축에필요한능력이해하기
◆실제경험을활용해쿠버네티스기반플랫폼을구축할때자주발생하는함정피하기
◆쿠버네티스의아키텍처디자인을확장가능한플랫폼으로개발하기
◆내부및외부사용자의고민을분석해목적에맞는플랫폼개발하기
◆도구및추상화에대한선택과결정으로쿠버네티스플랫폼의복잡성제어하기
◆쿠버네티스로운영환경방식을확인하고일반적인도구적용옵션및절충점알아보기

◈옮긴이의말◈

현대디지털비즈니스의핵심은‘애플리케이션과시스템운영’이다.기업은고객의요구사항을충족시키고,경쟁력을확보하며,혁신을추구하기위해안정적이고확장가능한소프트웨어를개발하고운영해야한다.이를수행하기위한도구와기술중하나로쿠버네티스(Kubernetes)가많은부분에서각광받고있다.
쿠버네티스는컨테이너오케스트레이션플랫폼으로,애플리케이션의배포,확장,관리,스케일링,복구및모니터링을자동화하고단순화하는역할을한다.이를통해기업은애플리케이션을더빠르게개발하고안정적인운영환경에서애플리케이션을제공할수있으며,다양한클라우드환경에서의이식성을확보할수있다.
이책은쿠버네티스를운영환경에서안정적이고확장성있게운영하기위한핵심원칙과실무노하우를전달한다.다년간의경험과업무에서의실제사례를토대로쿠버네티스로운영환경을개선하고효율성을높이는방법을제시하고있다.
쿠버네티스는학습곡선이가파르고다양한측면이존재하는복잡한기술이다.여러분은쿠버네티스의운영및관리에필요한기본원칙과심화내용을이해하고,실제운영환경에서문제를해결하는방법을얻을수있을것이다.
쿠버네티스의세계로안내하고,안정성과확장성을갖춘운영환경을구축하는여정을함께떠나는동반자로서,쿠버네티스를마스터하고현대의디지털비즈니스에서성공을거두는데도움이될것을확신한다.