코스 개요
모듈 1: 마이크로서비스 설계
• 양질의 마이크로서비스 경계
• 도메인 주도 설계(DDD) 활용
• 비즈니스 도메인 경계의 대안(볼라틸리티, 데이터, 기술, 조직적 요인)
• 모놀리식 분해
• 조기사 분해
• 계층별 분해
• 분해 패턴 활용(Strangler, 병렬 실행, 기능 토글)
• 데이터 분해 관련 주의사항(성능, 무결성, 트랜잭션)
모듈 2: Docker 및 런타임 최적화
• 적합한 베이스 이미지 선택
• 레이어 수 최소화
• 멀티 스테이지 빌드 활용
• 이미지 최적화(멀티라인 인자 정렬 등)
• 빌드 캐시 활용
• 이미지 버전 고정
• 자원 할당 세밀 조정
• 안전한 컨테이너 운영 사례
• 성능을 위한 런타임 구성
모듈 3: Kubernetes 및 릴리스 전략
Kubernetes 배포 개요
• 초기 배포 생성 및 실행
• Kubernetes 배포 옵션
롤링 업데이트 배포 수행
• 롤링 업데이트 이해
• 롤링 업데이트 생성 및 실행
• 배포 롤백
카네리 배포 수행
• 카네리 배포 이해
• 카네리 배포 생성 및 실행
블루-그린 배포 수행
• 블루-그린 배포 이해
• 블루-그린 배포 생성 및 실행
Job 및 CronJob 실행
• Job 및 CronJob 생성
모니터링 및 문제 해결 작업 수행
• kubectl를 사용한 문제 해결 기법
모듈 4: 자동화 및 운영 효율성
Python을 사용하여 Kubernetes의 일반 작업 자동화
• Python을 사용하여 Kubernetes에서 관리 작업 수행
• Python을 사용하여 구성 객체 정의
• Python을 사용하여 배포 객체 생성
• Python을 사용하여 Kubernetes 이벤트 감시
• Python을 사용한 배포 확장
배포 자동화의 과제 이해
• Kubernetes의 선언적 구성
• 구성 무결성 관리
GitOps 접근법을 사용하여 배포 자동화
• GitOps 원칙
• Flux 소개
• Kubernetes 클러스터에 Flux 설치
Flux를 사용하여 자동화된 배포 구성
• 알림 사용
• 소스 저장소 구조
이미지 자동화를 통한 애플리케이션 업데이트 처리
• Flux를 사용하여 애플리케이션 배포 업데이트
• 컨테이너 이미지 레지스트리의 태그 스캔
• 최신 이미지 선택을 위한 정책 정의
• 자동 이미지 업데이트 수행을 위해 Flux 구성
모듈 5: 관측성 및 근본 원인 명확화
Kubernetes 로깅 및 트레이싱 기능
• 로깅과 트레이싱이 중요한 이유
• Kubernetes 로그 접근
• Pod 및 컨테이너 로그
• 컨트롤 플레인 로그
• 노드 및 Pod의 자원 사용량
로그 수집 및 분석
• 로그 집계
• 로그 시각화
Kubernetes 분산 트레이싱
• 분산 트레이싱이란 무엇인가?
• OpenTelemetry 사용
• 분산 트레이싱 도구
• 애플리케이션 인스트루멘테이션
• 트레이싱을 사용한 성능 문제 파악
Prometheus 및 Grafana를 이용한 모니터링
• 관측성 개념
• 모니터링 도구
• Prometheus 인스트루멘테이션 사용
로깅의 고급 사용 사례
• 로그 처리
• 로그 필터링 및풍부화(Enriching)
• 이벤트 소싱(Event Sourcing)
모듈 6: 클러스터 위기 시뮬레이션 및 인식 대응
• 클러스터 환경에서 다양한 종류의 장애 이해
• 노드 장애 시뮬레이션
• Pod 격리 및 자원 고갈 시나리오
• 네트워크 이슈
• 애플리케이션 타임아웃 처리를 위한 DNS 실패 시뮬레이션
• API 서버 다운타임 시뮬레이션
• 시스템 안정성을 위한 부하 테스트 수행
• 스토리지 장애
• 구성 오류
• 인식 보고 절차 이해
모듈 7: 문제 해결 지원을 위한 AI
• Kubernetes용 생성형 AI의 장점
• K8sGPT CLI 아키텍처
• K8sGPT CLI 설치
• K8sGPT 명령어 및 사용법
• K8sGPT 분석기(podAnalyzer, pvcAnalyzer, rsAnalyzer 등) 활용
• K8sGPT를 사용한 클러스터 분석
• K8sGPT를 통한 실시간 이슈 분석
• K8sGPT용 클러스터 내 운영자(Cluster-in-Cluster Operator)
요건
- 리눅스 명령줄에 대한 기본 지식
- 애플리케이션 개발 또는 시스템 관리 경험
- 컨테이너(Docker 개념)에 대한 친숙함
- Kubernetes 개념(폴드, 배포, 서비스)에 대한 기본 이해
- 소프트웨어 아키텍처(APIs, 서비스 등)에 대한 일반적인 이해
대상 고객:
- 데브옵스 엔지니어
- 사이트 신뢰성 엔지니어(SRE)
- 마이크로서비스와 함께 일하는 백엔드/소프트웨어 개발자
- 클라우드 엔지니어 및 플랫폼 엔지니어
-
Kubernetes 환경으로 전환하는 시스템 관리자
회원 평가 (2)
크레이그는 훈련에 매우 적극적으로 참여하여 항상 우리가 주의를 기울이는지 확인하고, 예제를 우리의 일상 활동에 맞게 조정하며, 프레젠테이션에 포함되지 않은 정보더라도 질문할 때마다 답변을 제공했습니다.
Ecaterina Ioana Nicoale - BOOKING HOLDINGS ROMANIA SRL
코스 - DevOps Foundation®
기계 번역됨
트레이너의 높은 참여도와 지식 수준
Jacek - Softsystem
코스 - DevOps Engineering Foundation (DOEF)®
기계 번역됨