· 학습 목표:
데브옵스와 컨테이너 기반 DevOps의 핵심 원리를 이해하고, 클라우드 네이티브 애플리케이션의 전 생명주기를 파악하여 효율적인 소프트웨어 개발과 배포를 위한 전략을 습득합니다.
· 주요 내용:
1. 데브옵스 프로세스와 컨테이너 기반 DevOps 이해
2. 클라우드 네이티브 앱 전 생명주기 이해
[Chapter 2: 도커 개념 및 이미지 이해하기(이미지 규칙 소개)]
· 학습 목표:
도커의 기본 개념을 이해하고 이미지의 역할과 생성 규칙을 파악하여, 효율적인 이미지 관리와 배포를 위한 전략을 습득합니다.
· 주요 내용:
1. 도커 개념 및 이미지 이해하기(이미지 규칙 소개)
[Chapter 3: 도커 허브와 도커 런타임]
· 학습 목표:
도커 허브를 통해 이미지 저장과 관리를 이해하고, 도커 런타임을 활용하여 컨테이너를 관리하는 방법을 습득합니다.
· 주요 내용:
1. 도커 허브와 도커 런타임
[Chapter 4: 도커 이미지 생성 & Dockerfile]
· 학습 목표:
도커 이미지를 생성하는 과정과 Dockerfile을 사용하여 이미지를 자동화하는 방법을 이해하여, 효율적이고 일관된 이미지 빌드 프로세스 구축을 학습합니다.
· 주요 내용:
1. 도커 이미지 생성 & Dockerfile
[Chapter 5: 이미지와 컨테이너 관계 실습]
· 학습 목표:
이미지와 컨테이너 간의 관계를 실제로 경험하고, 도커를 사용하여 이미지를 생성하고 컨테이너를 실행하는 실습을 통해 이해합니다.
· 주요 내용:
1. 이미지와 컨테이너 관계 실습 1
2. 이미지와 컨테이너 관계 실습 2
[Chapter 6: 이미지 생성 및 저장소 푸쉬]
· 학습 목표:
이미지를 생성하고 도커 저장소에 푸시하는 과정을 이해하고, 실제로 이미지를 빌드하고 저장소에 업로드하여 배포하는 경험을 통해 더 나은 이미지 관리 및 배포 전략을 습득합니다.
· 주요 내용:
1. 이미지 생성 및 저장소 푸쉬
[Chapter 7: 이미지 기반 컨테이너 생성 및 새 버전 배포]
· 학습 목표:
새로운 이미지를 사용하여 컨테이너를 생성하고, 이전 버전과의 차이를 이해하며 새 버전의 애플리케이션을 배포하는 과정을 이해합니다.
· 주요 내용:
1. 이미지 기반 컨테이너 생성 및 새 버전 배포
[Chapter 8: 쿠버네티스 이해]
· 학습 목표:
쿠버네티스의 기본 오브젝트 모델을 이해하고, 사용자가 만든 서비스를 쿠버네티스에 배포하고 조회하는 방법을 숙지하며, YAML 기반으로 서비스를 배포하고 업그레이드하는 프로세스를 학습합니다.
· 주요 내용:
1. 쿠버네티스 기본 오브젝트 모델
2. 내가 만든 서비스 쿠버네티스에 배포하고 조회하기
3. YAML 기반으로 내 서비스 배포 및 업그레이드 하기
[Chapter 9: Pod Status에 따른 컨테이너 트러블슈팅]
· 학습 목표:
Pod의 상태 코드를 통해 컨테이너의 이슈를 진단하고 해결합니다.
· 주요 내용:
1. Pod Status에 따른 컨테이너 트러블슈팅 - ImagePullBackOff, CrashLoopBack
2. Pod Status에 따른 컨테이너 트러블슈팅 - CrashLoopBack(kubectl exec)
[Chapter 10: 12th 어플리케이션 쿠버네티스에 배포하기]
· 학습 목표:
실제 애플리케이션의 쿠버네티스 배포 프로세스를 이해하고 경험합니다.
· 주요 내용:
1. 12th 어플리케이션 쿠버네티스에 배포하기 1 - 주문서비스 Profile 확인 및 이미지 생성
2. 12th 어플리케이션 쿠버네티스에 배포하기 2 - Kafka 설치 12th 이미지 배포
3. 12th 어플리케이션 쿠버네티스에 배포하기 3 - 서비스 생성 및 12th Mall 테스트
[Chapter 11: 레이블과 어노테이션]
· 학습 목표:
쿠버네티스의 레이블과 어노테이션을 이해하고 활용하는 것으로, 쿠버네티스 객체를 식별하고 관리하는 방법을 학습하며, 어노테이션을 활용하여 마이크로서비스 롤백을 실제 응용하는 방법을 습득합니다.
· 주요 내용:
1. 레이블과 어노테이션
2. 레이블을 활용한 쿠버네티스 객체 식별
3. 어노테이션을 활용한 마이크로서비스 롤백 응용
[Chapter 12: Replicaset과 Scale Out]
· 학습 목표:
쿠버네티스의 ReplicaSet을 이해하고 수동 및 자동 스케일 아웃을 수행하는 방법을 익히고, 이를 통해 메트릭 서버 및 워크로드 생성기를 준비하고, 주문 서비스에 자동 스케일 아웃을 적용하는 방법을 실습하며 확장성 있는 서비스 배포와 관리에 대한 이해를 합니다.
· 주요 내용:
1. 리플리카셋(ReplicaSet) 이론과 Manual Scale Out
2. 오토 스케일 아웃(Auto Scale-Out) 랩준비(Metric Server - Workload Generator)
3. 주문 서비스에 오토 스케일 아웃(Auto Scale-out) 적용하기
[Chapter 13: Deployments 객체와 네임 스페이스]
· 학습 목표:
쿠버네티스의 Deployments 객체를 종합적으로 리뷰하고, 네임스페이스의 개념을 이해하여 기본 네임스페이스를 응용하여 습득합니다.
· 주요 내용:
1. Deployments 객체 종합 리뷰
2. 네임스페이스 개념 및 기본 네임스페이스 응용
[Chapter 14: 마이크로서비스 로드밸런서]
· 학습 목표:
쿠버네티스에서의 Service 개념과 Access Scope, 그리고 다양한 타입의 로드밸런서 설정 및 활용에 대한 이해를 합니다.
· 주요 내용:
1. 마이크로서비스 로드밸런서 - Service 개념
2. 마이크로서비스 로드밸런서(Service) - Access Scope - Type 정리
3. Service - ClusterIP 타입 생성과 컨테이너와의 관계
4. Service - ClusterIP, NodePort 타입으로 서비스 접근
5. Service - LoadBalancer 타입 및 서비스 이름으로 Web URL 활용
[Chapter 15: 셀프힐링과 무정지 배포]
· 학습 목표:
셀프힐링(Liveness)과 무정지 배포(Readiness)의 개념을 소개하고, 이에 대한 실행 예제와 실습을 통해 학습합니다.
· 주요 내용:
1. 셀프힐링(Liveness) - 무정지 배포(Readiness)
2. 셀프힐링(Liveness) Exec Action 실습 1
3. 셀프힐링(Liveness) Exec Action 실습 2
4. 무정지 배포(Readiness) 실습을 위한 준비(Kafka, Siege 설치)
5. 무정지 배포(Readiness) 실습
[Chapter 16: 쿠버네티스 볼륨 인터페이스]
· 학습 목표:
다양한 유형의 볼륨 인터페이스를 학습하며, 이를 통해 AWS와 Azure 환경에서의 설정과 활용법을 실습을 통해 이해합니다.
· 주요 내용:
1. 쿠버네티스 볼륨 인터페이스 - emptyDir, hostPath 유형
2. [AWS] 쿠버네티스 볼륨 인터페이스 - EBS, EFS, and PVC
3. [AWS] 쿠버네티스 볼륨 인터페이스 - 관리콘솔을 통한 파일시스템 생성
4. [AWS] 쿠버네티스 볼륨 인터페이스 - EFS CSI Driver 설치 및 EKS 설정
5. [AWS] 쿠버네티스 볼륨 인터페이스 - EFS PVC 생성 및 Pod 연결
6. [Azure] 쿠버네티스 볼륨 인터페이스 - PVC 기반 NFS 스토리지 생성과 활용
[Chapter 17: 쿠버네티스에 환경변수 구성하기]
· 학습 목표:
ConfigMap과 Secret을 활용하여 쿠버네티스 환경에서 애플리케이션의 설정과 민감한 정보를 효과적으로 관리하는 방법을 학습합니다.
· 주요 내용:
1. 쿠버네티스에 환경변수 구성하기 - ConfigMap
2. 쿠버네티스에 환경변수 구성하기 - Secret
[Chapter 18: 파일시스템 연결과 데이터베이스 설정]
· 학습 목표:
파일시스템 및 데이터베이스 설정을 위해 이미지 생성, Secret 활용, 데이터베이스 생성 및 확인, MySQL에 PVC 연결하는 방법을 학습합니다.
· 주요 내용:
1. 파일시스템 연결과 데이터베이스 설정 - 이미지 생성 및 푸쉬
2. 파일시스템 연결과 데이터베이스 설정 - Secret을 통한 데이터베이스 설정
3. 파일시스템 연결과 데이터베이스 설정 - 데이터베이스 생성 및 확인
4. 파일시스템 연결과 데이터베이스 설정 - 데이터 보존을 위한 MySQL에 PVC 연결
[Chapter 19: Ingress를 통한 진입점 통일]
· 학습 목표:
Ingress를 통해 서비스의 외부 진입점을 통일하는 방법과 그 중요성을 이해합니다.
· 주요 내용:
1. Ingress를 통한 진입점 통일
[Chapter 20: k8s advanced Orchestration Features 학습]
· 학습 목표:
Kubernetes의 고급 Orchestration 기능을 학습하여 클러스터 관리와 운영을 더욱 효율적으로 수행하는 방법을 이해합니다.
· 주요 내용:
1. k8s advanced Orchestration Features 학습

