코스 개요

[Day 01]

소개

  • 컨테이너 vs 가상 머신
  • 속도와 성능

Docker 아키텍처 개요

  • Docker와 Linux 커널
  • Docker 구성 요소 (Docker 클라이언트, Docker 데몬, 이미지, 레지스트리, 컨테이너)

컨테이너를 실행하고 관리하기 위한 Docker 사용

  • 이미지, 컨테이너, 볼륨, 네트워크

컨테이너 오케스트레이션 개요

Docker 설치

인터넷에서 이미지를 가져오기

  • 샘플: Apache Tomcat

컨테이너 실행

Docker 레지스트리

  • 공용 vs 사설

Dockerfile 생성 및 관리

Docker 이미지 빌드

웹 애플리케이션 배포

  • 샘플 애플리케이션: Java EE 애플리케이션 서버

Docker 컨테이너 간의 통신 방법

Docker에서 볼륨과 네트워크 구성

  • 링크와 상태


[Day 02]

Kubernetes를 이용한 컨테이너 오케스트레이션 심화 학습

Kubernetes 아키텍처 개요

  • Pods, 레이블/선택자, 복제 제어기, 서비스, API

Kubernetes 클러스터 설치

Kubernetes Pod, 볼륨, 배포 생성

클러스터 그룹화 및 조직화

서비스 발견 및 게시

컨테이너 발견 및 연결

웹 애플리케이션 배포

  • 애플리케이션 구성 요소 처리
  • 데이터베이스 연결 처리

Kubernetes 보안

  • 인증 및 권한 부여

고급 네트워킹

  • Docker 네트워킹 vs Kubernetes 네트워킹

Kubernetes 모니터링

  • Elasticsearch와 fluentd를 사용한 클러스터 로깅
  • 컨테이너 수준 모니터링 (cAdvisor UI, Influxdb, Prometheus)


[Day 03]

Kubernetes 클러스터 확장

Kubernetes 인프라

  • 프로비저닝, 파티셔닝, 네트워킹

고가용성 클러스터 구축

  • 로드 밸런싱 및 서비스 발견

확장 가능한 애플리케이션 배포

  • 수평 팟 자동 확장
  • Kubernetes에서의 데이터베이스 클러스터링

애플리케이션 업데이트

  • Kubernetes에서의 릴리스

문제 해결

마무리 발언

요건

  • Linux 명령줄에 익숙한 것
  • 가상화 개념에 대한 기본적인 이해
  • 네트워킹 개념에 대한 이해
  • 웹 애플리케이션이 작동하는 방식에 대한 이해

대상 학습자

  • 소프트웨어 개발자
  • 아키텍트
  • 배포 엔지니어
 21 시간

참가자 수


참가자당 가격

회원 평가 (7)

예정된 코스

관련 카테고리