강의

멘토링

로드맵

개발 · 프로그래밍

/

데브옵스 · 인프라

쿠버네티스 101 - 클라우드/서버 개발 첫걸음

실습을 통해 쿠버네티스의 핵심 개념과 마이크로 서비스 아키텍처의 원리를 이해합니다.

(4.9) 수강평 12개

수강생 148명

  • 드라진

먼저 경험한 수강생들의 후기

이런 걸 배울 수 있어요

  • 쿠버네티스의 핵심 개념

  • 클라우드 앱의 개발 및 배포 과정

  • 마이크로 서비스 아키텍처의 원리

  • 구글 클라우드 코드(SDK)

처음 배우는 쿠버네티스, 실습으로 쉽게!

클라우드/서버 환경의 표준
쿠버네티스 기초 바로잡기 

클라우드/서버 앱 개발의 시작, 쿠버네티스

이 강의에서는 쿠버네티스 환경에서 애플리케이션을 개발하고 배포하는 과정을 실습하고, 쿠버네티스의 핵심 개념과 마이크로서비스 아키텍처(MSA)의 설계 원리를 이해합니다.

클라우드/서버 환경은 알아야 할 내용도 많고 복잡합니다. 또한, 계속 바뀌고 발전하고 있습니다. 이에 시작하는 사람들이 접근하기 쉽지 않습니다. 

쿠버네티스(Kubernetes, k8s)클라우드/서버 환경의 표준이라고 할 수 있습니다. AWS, Google, Microsoft 등 주요 클라우드 공급자도 쿠버네티스를 지원하는 만큼, 쿠버네티스는 클라우드/서버 개발을 위해 가장 먼저 알아야 할 지식이라고 할 수 있습니다.

실습으로 배우는 쿠버네티스 by Minikube

미니큐브(Minikube)로 PC 환경에 쿠버네티스 환경을 구성할 수 있습니다. 즉, 연결된 서버가 없더라도 클라우드/서버 개발을 공부할 수 있습니다.

이 강의에서는 미니큐브로 쿠버네티스 환경을 구성하며 간단한 예제 어플리케이션 개발을 실습합니다. 실습을 통해 쿠버네티스의 핵심 개념을 이해하고, 클라우드/서버 개발자로서의 기초를 다져봅시다!


쿠버네티스가 처음인 당신을 위한 
따라 시작하는 쿠버네티스 101

💡 쿠버네티스를 처음 접하는 분들을 위해 단계별로 설명을 진행합니다. 따라하면서 공부하시면 어렵지 않게 쿠버네티스 및 클라우드/서버 개발을 익히실 수 있습니다.

추천 학습자 ✅

  • 쿠버네티스를 알고 싶은 분 
  • 클라우드/서버 개발에 대해 배우고 싶은 분
  • 마이크로서비스 아키텍처(MSA)에 관심있는 분

다루는 기술 ✅

  • Minikube, Kubernetes
  • Node.js, Docker, YAML, Redis DB

핵심 학습 내용 ✅

  • 쿠버네티스의 핵심 개념을 이해하고 서비스를 구성할 수 있습니다.
    • pod, deployment, replicaset, statefulste, autoscaler
    • service, ingress, persistent volume
  • 클라우드/서버 개발 과정을 이해하고 앱을 개발할 수 있습니다.
    • Node.js 웹 서버 개발 - 빌드 - 배포
    • Visual Studio Code + Google Cloud Code

수업 영상에 자막을 제공합니다. 초보자도 쉽게 따라 실습할 수 있습니다.


상세 커리큘럼 📚

커리큘럼 전체
학습 목표

이 강의에서는 3개의 마이크로서비스로 구성된 counter 앱을 개발하고 쿠버네티스에 배포합니다. 이를 통해 쿠버네티스의 핵심 개념과 마이크로서비스 아키텍처의 기본 원리를 이해합니다.

  • ingress API gateway는 요청을 서비스로 전달합니다.
  • web-inc 서비스는 count 증가 요청(INC)을 처리합니다.
  • web 서비스는 count 값에 대한 요청(GET)을 처리합니다.
  • redis 서비스는 count 값을 저장합니다.

섹션 1
kubectl 명령으로 쿠버네티스 다루기

쿠버네티스 명령 도구인 kubectl을 이용해서 쿠버네티스 구성 요소를 생성하고 관리하는 방법에 대해서 실습합니다.

  • 웹 서버인 nginx 이미지를 사용해 deployment로 배포합니다.
  • service로 nginx pod를 노출시킵니다.
  • ingress API gateway를 생성해서 service를 연결합니다.

섹션 2
쿠버네티스에서 Node.js 앱 개발하기

간단한 웹 서비스를 개발하고 쿠버네티스에 배포합니다. YAML 파일로 쿠버네티스 구성 요소를 명세하고 관리하는 방법에 대해서 설명합니다.

  • Node.js HTTP 모듈로 웹 서비스를 개발합니다.
  • 개발된 웹 서비스의 배포를 위해 도커(Docker) 이미지를 생성(빌드)합니다.
  • 생성한 이미지를 deployment로 배포합니다.
  • service로 deployment가 생성한 pod를 노출합니다.

쿠버네티스 환경에서 클라우드/서버 앱을 개발하는 기본적인 프로세스를 실습합니다. (개발 - 이미지 빌드 - 배포) 섹션 2의 소스 코드는 github에서 확인할 수 있습니다.

섹션 3
Counter 앱 만들기

count 값을 persistent volume에 파일로 저장하고 이를 서비스하는 counter 앱을 개발합니다.

Google Cloud Code를 사용해서 빌드와 배포를 자동화하는 방법에 대해서 실습합니다. 섹션 3의 소스 코드는 github에서 확인할 수 있습니다.

섹션 4
Redis(레디스) DB로 Counter 앱 완성하기

count 증가 요청을 처리하는 web-inc 서비스, count 값을 반환하는 web 서비스, Redis DB에 count 값을 저장하는 redis 서비스로 구성된 이 강의 최종 구조를 구현합니다.

  • 상태를 저장할 필요가 없는(stateless) web, web-inc 서비스는 deployment로 구성합니다.
  • 상태를 저장해야 하는 redis 서비스는 statefulset으로 구성합니다.
  • Redis DB를 master-slave 구조로 설정합니다.
  • 요청에 따라 서비스를 라우팅 하는 ingress API gateway를 설정합니다.
  • CPU 부하에 따라 pod의 개수를 자동으로 조정하도록 autoscaler도 설정합니다.

섹션 4의 소스 코드는 github에서 확인할 수 있습니다.


Q&A 💭

Q. 강의를 듣기 전, 알아야 할 것이 있나요?

  • 이 강의는 실습을 통해 학습하므로 특별한 선수 지식이 필요한 것은 아닙니다.
  • 단, 컴퓨터/네트워크 및 프로그래밍에 대한 기초 지식과 경험은 필요할 수 있습니다.
  • 천천히 따라 하시면 됩니다.

이런 분들께
추천드려요

학습 대상은
누구일까요?

  • 쿠버네티스를 알고 싶은 사람

  • 클라우드 앱 개발과 배포에 대해 궁금한 사람

  • 마이크로 서비스 아키텍처를 배우고 싶은 사람

선수 지식,
필요할까요?

  • 컴퓨터, 네트워크, 프로그래밍에 대한 기초 지식

안녕하세요
입니다.

320

수강생

26

수강평

10

답변

5.0

강의 평점

3

강의

소프트웨어 아키텍트 & 교육가

현) 보이는소프트웨어연구소 대표(2016~현재)
  - 삼성전자 소프트웨어 아키텍트 양성 및 인증
  - 소프트웨어 구조 설계 및 평가 교육 / 컨설팅

중앙대학교 소프트웨어 대학 겸임 교수(2018~2022)
  - 기초 컴퓨터 프로그래밍 - C/C++, JavaScript, Python

삼성전자(2003~2016)

커리큘럼

전체

31개 ∙ (3시간 10분)

강의 게시일: 
마지막 업데이트일: 

수강평

전체

12개

4.9

12개의 수강평

  • philips413님의 프로필 이미지
    philips413

    수강평 4

    평균 평점 5.0

    5

    100% 수강 후 작성

    This was a lecture that allowed me to understand microservices and Kubernetes at once. This kind of informative lecture in a short period of time should be recommended to many people.

    • wjdqudwn님의 프로필 이미지
      wjdqudwn

      수강평 107

      평균 평점 5.0

      5

      32% 수강 후 작성

      • ericserra4918님의 프로필 이미지
        ericserra4918

        수강평 98

        평균 평점 4.9

        5

        100% 수강 후 작성

        It was impressive how you explained Kubernetes' core services using practical source code examples, and it was also great that you included explanations of Redis, which is widely used as an in-memory cache. Most importantly, I appreciated your detailed explanations of k8s YAML files. I would be grateful if you could create a course on CKA as the topic next time. Keep up the great work, instructor~~

        • drajin
          지식공유자

          I'm glad to hear that it was helpful. It makes me feel good too. Thank you.

      • dmsghwndud442412님의 프로필 이미지
        dmsghwndud442412

        수강평 1

        평균 평점 5.0

        5

        100% 수강 후 작성

        • neogata8511님의 프로필 이미지
          neogata8511

          수강평 1

          평균 평점 5.0

          5

          100% 수강 후 작성

          Kubernetes, I was able to understand the structure/meaning of microservices.

          • drajin
            지식공유자

            I'm glad it helped. ^^

        2025 추석맞이 감사할인 중 (2일 남음)

        ₩26

        22%

        ₩44,000

        드라진님의 다른 강의

        지식공유자님의 다른 강의를 만나보세요!

        비슷한 강의

        같은 분야의 다른 강의를 만나보세요!