이미 소장하고 있다면 판매해 보세요.
|
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 CD 3장. Argo CD 운영 __기술 요구 사항 __선언적 구성 ____Kustomize를 활용한 고가용성 설치 ____Argo CD 자체 관리 ____설정 변경 __고가용성 설치 ____API 서버 ____리포지터리 서버 ____애플리케이션 컨트롤러 ____레디스 캐시 ____Dex 서버 __재해 복구 계획 ____CLI 설치하기 ____백업 생성하기 ____다른 클러스터에서 복원하기 __관찰 가능성 활성화 ____프로메테우스로 모니터링하기 ____운영팀이 확인할 메트릭 ____마이크로서비스 팀을 위한 메트릭 __사용자에게 통지 ____Argo CD Notifications 설치 ____파이프라인 시작하기 __요약 __더 알아보기 4장. 접근 제어 __기술 요구 사항 __선언적 사용자 ____관리자와 로컬 사용자 __서비스 어카운트 ____로컬 서비스 어카운트 ____프로젝트 역할과 토큰 __SSO ____Dex를 통해 SSO 이용하기 ____Argo CD에서 직접 SSO 활용하기 __요약 __더 알아보기 3부. 운영 환경에서 Argo 5장. 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 만을 다룬 책은 많이 없는 것으로 알고 있습니다. 이를 기점으로 국내서적이나 번역서가 많이 출시됐으면 좋겠습니다. |
|
저자의 완벽한 설명을 통해 Argo CD를 단 몇 분만에 사용할 수 있도록 돕는 책이다. 깃옵스(GitOps)와 Argo CD에 대한 기본적인 개념부터 사용하는 용어까지 정리할 뿐만 아니라 매우 유용하고 실제 운영 시 사용 가능한 많은 도구를 다룬다. 기본 예제도 YAML 스니펫(snippet)으로 제공하기 때문에 실제 문제 해결에 도움이 될 것이다. 내용이 점점 심화될수록 더 재미있어질 것이다. Argo CD의 고급 기능과 아키텍처 및 내부 구조에 대해 더 많은 것을 학습할 것이다. 이러한 고급 자료들은 회사에서 Argo CD를 운영하면서 확장성과 성능에 대해 고민하는 데브옵스(DevOps) 엔지니어에게 유용할 것이다. 책에서는 Argo CD를 운영하는 모범 사례와 패턴에 대해서 설명한다. 따라서 깃옵스에 입문하고 싶거나 이미 친숙하거나 주제에 대해서 심화 학습하고 싶은 사람들에게 추천한다. - 알렉산더 마튜센체프 (Alexander Matyushentsev, Akuity의 공동 창립자 겸 수석 설계자)
|