이 상품은 구매 후 지원 기기에서 예스24 eBook앱 설치 후 바로 이용 가능한 상품입니다.
|
1부. 깃옵스와 Argo CD의 기초1장. 깃옵스와 쿠버네티스__기술 요구 사항__깃옵스란 무엇인가?__쿠버네티스와 깃옵스____아키텍처____HTTP REST API 서버____컨트롤러 매니저__명령형 API와 선언형 API____명령형 방식 - 직접 명령____명령형 방식 - 구성 파일 사용____선언형 방식 - 구성 파일 사용____선언형 방식 - 구성 폴더와 함께__간단한 깃옵스 오퍼레이터 구축__IaC와 깃옵스__요약__더 알아보기2장. Argo CD 시작하기__기술 요구 사항__Argo CD란 무엇인가?____Argo CD와 친해지기__핵심 개념과 용어 정리____Argo CD 조정____용어__아키텍처 설명____아키텍처 개요____Argo CD의 핵심 구성 요소____Argo CD의 핵심 오브젝트와 리소스____헬름으로 Argo CD 실행하기____Argo CD 첫 애플리케이션 실행하기____Argo CD 오토파일럿을 통해 Argo CD 운영하기__동기화 원리____리소스 훅____동기화 웨이브__요약__더 알아보기2부. SRE와 Argo CD3장. Argo CD 운영__기술 요구 사항__선언적 구성____Kustomize를 활용한 고가용성 설치____Argo CD 자체 관리____설정 변경__고가용성 설치____API 서버____리포지터리 서버____애플리케이션 컨트롤러____레디스 캐시____Dex 서버__재해 복구 계획____CLI 설치하기____백업 생성하기____다른 클러스터에서 복원하기__관찰 가능성 활성화____프로메테우스로 모니터링하기____운영팀이 확인할 메트릭____마이크로서비스 팀을 위한 메트릭__사용자에게 통지____Argo CD Notifications 설치____파이프라인 시작하기__요약__더 알아보기4장. 접근 제어__기술 요구 사항__선언적 사용자____관리자와 로컬 사용자__서비스 어카운트____로컬 서비스 어카운트____프로젝트 역할과 토큰__SSO____Dex를 통해 SSO 이용하기____Argo CD에서 직접 SSO 활용하기__요약__더 알아보기3부. 운영 환경에서 Argo5장. Argo CD로 쿠버네티스 클러스터 부트스트랩__기술 요구 사항__테라폼을 통한 아마존 EKS 클러스터 생성____아마존 EKS와 친해지기____EKS 인프라 설계하기____테라폼으로 EKS 프로비저닝__Argo CD로 EKS 부트스트랩하기____테라폼으로 Argo CD 준비하기____테라폼으로 Argo CD 적용하기__app of apps 패턴 활용____왜 app of apps 패턴인가?____유틸리티 부트스트랩하기__부트스트랩 연습____인프라 삭제____인프라 재생성____app of apps 패턴의 단점____ApplicationSet은 무엇인가?____제너레이터__요약__더 알아보기6장. Argo CD 배포 파이프라인 설계__기술 요구 사항__도입 배경____쿠버네티스에서 간단한 블루-그린 배포__배포 전략____Argo Rollout은 무엇인가?____왜 Argo Rollout인가?____Argo Rollout 아키텍처____블루-그린 배포 전략____카나리 배포 전략__실제 CI/CD 파이프라인____Argo Rollout 세팅하기____깃허브 액션을 활용해 자동으로 블루-그린 승격하기____동기화 단계를 통한 자동 롤아웃__안전하게 시크릿 보관하기____시크릿에 안전하게 저장하기____Argo CD와 외부 시크릿 오퍼레이터__마이크로서비스 CI/CD__단일 리포지터리 마이크로서비스__요약__더 알아보기7장. Argo CD 문제 해결__기술 요구 사항__초기 설치__운영 중 문제 해결____구성 요소 재시작____특정 버전의 헬름 사용하기__성능 향상____애플리케이션 컨트롤러____리포지터리 서버__요약__더 알아보기8장. YAML과 쿠버네티스 매니페스트__기술 요구 사항 __템플릿 옵션 활용____헬름____Kustomize__유효성 검사 유형 탐구__쿠버네티스 스키마 검증__매니페스트 강화 모범 사례__conftest로 확장성 있는 검사 수행__요약__더 알아보기9장. 미래와 결론__기술 요구 사항__깃옵스 대중화__깃옵스 엔진은 무엇인가?____깃옵스 에이전트__kubernetes-sigs/cli-utils는 무엇인가?____kapply 사용법__마무리__요약__더 알아보기
|
Liviu Costea
Spiros Economakis
|
이 책에서 다루는 내용- 깃옵스 원칙을 이해하고 IaC와 관련성 파악- Argo CD가 Git 상태와 클러스터 상태를 조정하는 원리 탐구 이해- 프로덕션 환경에서 신뢰성과 문제 해결에 초점을 두고 Argo CD 운영- 필수 유틸리티를 사용해 깃옵스 방식으로 쿠버네티스 클러스터 부트스트랩- CD 파이프라인 구축과 배포 실패 최소화- 쿠버네티스 작업 시 함께 사용하는 YAML을 검증하고 확인하는 방법 탐구- 깃옵스 대중화에 대한 이해와 깃옵스 엔진의 장점 소개이 책의 대상 독자이 책은 소프트웨어 엔지니어, 데브옵스 엔지니어, SRE와 같이 쿠버네티스를 운영하면서 CD 파이프라인 구축을 담당하는 사람, 본인의 커리어를 향상시키고 싶은 사람을 대상으로 한다. 쿠버네티스(Kubernetes), 헬름(Helm), 커스터마이즈(Kustomize), CD 파이프라인에 대한 기본적인 지식이 있다면 이 책을 더 잘 활용할 수 있다.이 책의 구성1장, ‘깃옵스와 쿠버네티스’에서는 쿠버네티스가 어떻게 깃옵스 개념을 도입할 수 있었는지 알아본다. 선언적 API를 알아보고, 파일, 폴더, 깃 리포지터리에서 리소스를 어떻게 적용할 수 있는지 살펴본다.2장, ‘Argo CD 시작하기’에서는 Argo CD의 핵심 개념과 아키텍처 개요를 소개하고 자세히 이해하기 위해 알아야 할 필수 용어를 살펴본다.3장, ‘Argo CD 운영’에서는 고가용성 매니페스트(manifest)를 사용해 Argo CD를 설치해보고, 가장 최적의 구성 옵션이 무엇인지 알아본다. 재해 복구를 대비하고, 많은 메트릭 중 꼭 필요한 것은 무엇인지 살펴본다.4장, ‘접근 제어’에서는 사용자 접근 권한을 설정하는 방법과 CLI, 웹 UI 또는 CI/CD 파이프라인을 통한 연결 옵션을 알아본다. 역할 기반 접근 제어(RBAC, Role-based Access Control)와 SSO에 대해 알아보고 이를 구성하는 다양한 옵션에 대해 자세히 설명한다.5장, ‘Argo CD로 쿠버네티스 클러스터 부트스트랩’에서는 IaC(Infrastructure as code) 도구를 사용해 쿠버네티스 클러스터를 생성하는 방법과 ArgoCD로 필요한 애플리케이션을 설정하고 애플리케이션을 배포할 때 직면하게 될 보안 문제를 확인하는 방법을 알아본다.6장, ‘Argo CD 배포 파이프라인 설계’에서는 5장에서 설치한 인프라를 기반으로 실제 배포 전략을 알아보고 시크릿과 아르고 롤아웃(Argo Rollouts)에 익숙해진다.7장, ‘Argo CD 문제 해결’에서는 설치할 때 혹은 평소 작업 간 자주 발생할 수 있는 문제에 대해서 다루고 Argo CD 성능을 개선하는 방법을 살펴본다.8장, ‘YAML 및 쿠버네티스 매니페스트(파싱 및 검증)’에서는 작성한 YAML 매니페스트 유효성을 검사하고, 모범 사례를 통해 이를 검증해보고, 쿠버네티스 스키마를 확인하거나 레고(Rego)로 작성된 자체 확장 유효성 검사를 수행하는 데 사용할 수 있는 도구를 알아본다.9장, ‘미래와 결론’에서는 깃옵스 엔진과 kubernetes-sigs/cli-utils가 Argo CD나 쿠버네티스 커뮤니티로부터 분리돼 개발된 과정, 그리고 이들을 사용해 달성하려는 목표에 대해 설명한다.지은이의 말깃옵스는 이해하기 어려운 주제는 아니다. 본인이 원하는 환경을 선언적으로 정의하기 위해 깃 리포지터리(Git repository)를 사용한다. 버전 관리와 병합 요청을 통해 변경하는 방식으로 전체 시스템을 감시한다. 일단 깃옵스를 도입하게 되면 Argo CD 같은 툴을 사용하면서 점점 복잡해지기 시작한다. 첫 번째로 관찰가능성(observability)이나 고가용성(high availability)과 같은 내용을 염두해 두면서 Argo CD를 올바르게 설정해야 한다. 그리고 CI/CD 파이프라인에 대해서도 고민해보면서 새로운 깃옵스 리포지토리를 여기에 잘 융합할지도 고민해야 한다. 그리고 조직적으로 운영하면서 다양한 문제가 발생하기도 한다. 어떻게 각 팀을 새로운 설정에 맞게 통합할 것인지 고민해야 할 수도 있다. 또한 대부분 배포하는 네임스페이스별로 쿠버네티스 접근 권한이 나눠져 있을 수 있기 때문에 RBAC(Role-Based ACcess, 역할 기반 접근 통제)를 적절하게 구성하는 데 시간이 소요되기도 하고, 기존 팀의 액세스를 어떻게 새로운 깃옵스 엔진으로 이전할 것인지도 고려해야 한다.짧은 글, 비디오, 강의 등 다양한 자료가 존재하지만 단편적인 주제를 다루고 있기 때문에 학습 방향을 설정하기 어렵고, 그렇게 내용이 깊지도 못하다. 그래서 Argo CD를 도입하는 것이 어떤 변화를 만들고, 어떻게 사용하는 것인지 파악하기가 쉽지 않다. 독자들이 Argo CD를 처음 시작할 때 기본적으로 필요한 내용인 설치부터 올바른 접근 제어를 설정하는 것까지 전반적인 내용을 가이드하고, 심화 시나리오와 트러블슈팅 과정을 포함해 프로덕션 환경에서 직면할 수 있는 문제들을 다루기 위해서 이 책을 집필했다. 우리는 회사에서 초기에 깃옵스를 도입했으며 깃옵스를 오랫동안 직접적으로 사용했다. 초기에는 자체 깃옵스 오퍼레이터를 구축하려고 했다. 금방 만들 수 있을 줄 알았지만 2~3주 동안 필요한 것이 무엇인지 분석하다가 포기했다. 우리는 운영하면서 많은 문제를 겪었는데 일부는 잘 처리했고 일부는 해결하는 데 많은 시간이 걸렸다. 하지만 그러면서 정말 많은 것을 배웠기에 이것을 독자들과 공유하고자 한다. 확실한 것은 이 책을 통해 Argo CD와 깃옵스를 적용하는 데 큰 도움을 받을 수 있을 것이다.옮긴이의 말Argo 프로젝트는 Argo WorkFlow, Argo CD, Argo Rollout, Argo Event 이렇게 총 4개의 프로젝트로 구성돼 있으며 워크플로를 실행하고, 클러스터를 관리하고, GitOps를 올바르게 수행하기 위한 쿠버네티스 오픈 소스입니다. 2020년 3월 26일에 인큐베이팅 수준에서 CNCF(Cloud Native Computing Foundation)에 승인된 후 2022년 12월 6일 졸업(Graduate)했습니다. 그만큼 완성도가 높고 검증된 프로젝트가 아닐까 합니다. 특히나 최근 쿠버네티스를 많이 활용하면서 이미 많은 회사가 Argo CD를 도입해 사용하고 있는 것으로 알고 있습니다. 하지만 이렇게 많아지는 인기 속에 아직까지 Argo CD 만을 다룬 책은 많이 없는 것으로 알고 있습니다. 이를 기점으로 국내서적이나 번역서가 많이 출시됐으면 좋겠습니다.
|