BEST
개발 · 프로그래밍

/

데브옵스 · 인프라

그림으로 배우는 쿠버네티스(v1.30) - {{ x86-64, arm64 }}

쿠버네티스(☸)의 많은 부분을 그림으로 배울 수 있도록 구성되어 있습니다. 🧭 특히 이미 검증된 베스트셀러 '컨테이너 인프라 환경 구축을 위한 쿠버네티스/도커'에서 검증된 내용을 더욱 확장해서 쿠버네티스 자체를 더 깊이 학습하도록 작성하였습니다. 💯 또한 실무적인 내용들이 '보강 수업'에 주기적으로 추가되어 있습니다. 👉 꼭 다른 강의와 비교해 보세요 :)

(4.9) 수강평 130개

수강생 2,190명

Thumbnail

중급자를 위해 준비한
[데브옵스 · 인프라, 클라우드] 강의입니다.

이런 걸
배워요!

  • 쿠버네티스를 이루는 코드(YAML)을 이해할 수 있어요

  • 쿠버네티스 인프라의 조건들을 코드를 통해서 확인할 수 있어요

  • kubeadm을 통해서 실제로 쿠버네티스 클러스터를 구현할 수 있어요

  • kubectl의 유용한 옵션들(describe, logs)의 용도를 배울 수 있어요

  • Pod, Deployment등의 오브젝트를 코드로 배포하고 노출할 수 있어요

  • 쿠버네티스의 서비스와 연관된 요소들을 알 수 있어요

  • 쿠버네티스 볼륨의 다양한 사용법을 알 수 있어요

  • 쿠버네티스 노드에 대한 구성 및 관리하는 법을 배울 수 있어요

  • 쿠버네티스 파드의 구성 및 관리하는 법을 자세히 배울 수 있어요

  • 쿠버네티스 클러스터의 자원을 관리할 수 있어요

  • 쿠버네티스 꽃인 스케줄링에 대해서 자세히 배울 수 있어요

  • 쿠버네티스를 사용하는 개발자가 꼭 알아야 하는 Probe에 대해서 자세히 다뤄요

  • 개발한 컨테이너를 효과적으로 올리는 다양한 방법을 배울 수 있어요

  • 애플리케이션을 자동으로 관리하는(예: HPA) 법들을 배울 수 있어요

쿠버네티스 항해의 두 번째 걸음! 🚢
성장하는 개발자/엔지니어의 기틀을 다져보세요.

현존 가장 많은 내용
v1.30 버전으로 다루는
쿠버네티스 가이드

📢  쿠버네티스 v1.30 로 실습 업데이트! 

  • 2024년 6월 16일에 쿠버네티스 실습이 v1.30에 맞게 변경되었습니다.
  • 이에 따라 ch2는 전체 강의에서 공통 사용되는 형태로 변경되었으며, 기존에 ch2에 있던 것은 10번 (예: 2.11, 2.12)대로 변경되었습니다. 
  • 또한 기본 운영체제를 센트OS 7에서 우분투 22.04로 변경하였습니다.
  • v1.30 업데이트를 위해서 추가 촬영된 영상은 ch1 전체와, 9.5, 9.6 그리고 B.001입니다. 그리고 일부 애플리케이션의 버전을 변경하였습니다.  
  • 기존 보강은 A이 저장해두었고, v1.30이후는 B로 진행됩니다.
  • 🎉 맥 실리콘 (M1, M2, M3 / arm64)을 이제 공식적으로 지원합니다. 미리보기로 공개된 영상을 확인해 보세요 😄 

이 강의는 쿠버네티스(Kubernetes)의 문서를 통해서 배우기 어려움을 겪는 부분들을 구조적으로 정리하고, 비유와 그림을 통해서 쿠버네티스를 본격적으로 배우는데 어려움을 줄이고자 하는 목적으로 제작된 강의입니다. 

💡 강의 등록 전에 알아두면 좋을 점

  • 쿠버네티스는 단순한 개발 도구가 아니라 (개발을 포함한) 인프라 관리 도구 입니다. 따라서 DevOps, SRE, TA 등 개발 자체를 확장하기 위한 목적에 적합하며, 이를 위해서 알아야 하는 기반 지식이 많습니다. 일부 직군에서는 자세한 설명이 없다고 느낄 수 있으나 모든 기반 지식을 설명하긴 어렵습니다. 하지만 CI/CD 등 개발 영역을 확장하고자 하는 분들은 배워야 하는 영역입니다. 또한 서비스와 같이 정확하지 않아 보이는 표현은 쿠버네티스 공식 용어이며, 기존 인프라 구조를 가지고 오는 과정에서 용어의 중복은 피할 수 없습니다.
  • 가장 좋은 교육 자료는 쿠버네티스 공식홈페이지이며, 이를 통해서 배우시는데 충분하다면 따로 강의가 필요하지 않습니다. 다만 공식홈페이지로 학습하기 어렵다라고 느끼는 분을 위해 따로 현재와 같은 교육이 존재합니다. 다만 각자의 기반 지식이 모두 다른 상태에서 쿠버네티스를 처음부터 배우는 것은 쉬운 일이 아니며, 각자의 부족한 부분은 따로 채워야 할 수 있습니다. 
  • 현 강의는 계속 변화하는 쿠버네티스 그리고 현업에 가까운 부분은 꾸준히 업데이트(예: 보강, v1.25 > v1.30, Mac Slicon 지원) 하고 있습니다. 
  • 강의 특성을 이해하기 원하신다면, 무료공개 수업(미리보기)으로 오픈된 6.7.테인트(Taints)와 톨러레이션(Tolerations) 수업을 한번 들어보시기를 추천드립니다!
  • 위의 내용들이 충분히 괜찮고, 현재 강의 목록이 도움이 되실 것이라고 판단되면 강의를 진행해주시는 것을 추천드립니다. 

애플리케이션 롤링 업데이트

그 외에 그림들

현재 강의는 쿠버네티스 사용되는 요소들을 이해하기 쉽도록 구조화해서 구성하고, 이를 코드를 통해서 배포하여 본격적으로 쿠버네티스를 사용하고자 하는데 목적이 있습니다. 따라서 대제목은 3개로 구성되어 있고, 그 내부에 중제목으로 세부화한 후에 소제목을 구성하였습니다.

Part 1. 쿠버네티스에 대한 이해

  • ch1: 쿠버네티스 실습 환경을 구성하는 코드
  • ch2: 『공통』 쿠버네티스 실습 환경을 구축 (+사전 준비)

Part 2. 쿠버네티스 오브젝트들을 코드로 이해하기

  • ch3: 애플리케이션 배포법
  • ch4: 애플리케이션 노출법
  • ch5: 애플리케이션 볼륨 사용법

Part 3. 쿠버네티스의 요소 별 구성 및 관리법

  • ch6: 쿠버네티스 노드 구성 및 관리
  • ch7: 쿠버네티스 파드 구성 및 관리
  • ch8: 쿠버네티스 클러스터 관리
  • ch9: 효과적인 애플리케이션 구성 및 관리

세부적인 목차는 하단의 강의 소개에 있으니 그 내용을 참고하시면 될 것 같습니다.  


왜 쿠버네티스의 코드를 봐야 할까요?

쿠버네티스의 오브젝트를 배포하는 포맷 및 관리하는 포맷 모두가 야믈(YAML)이라는 형식으로 구현되어 있습니다. 따라서 야믈을 이용한 코드를 보지 못하면 쿠버네티스의 요소들의 진정한 의미를 이해하기 어렵습니다. 또한 컨테이너 인프라에 대한 다른 도구들 또한 코드를 기반으로 동작합니다.

현대적인 인프라는 코드로 이루어지고 있으며, 이는 피할 수 없는 흐름이 되고 있습니다. 

코드로서의 인프라스트럭처(IaC, Infrastructure as Code)는 쿠버네티스 그리고 쿠버네티스 생태계를 이루는 거의 모든 제품군에 필수적인 요소입니다. 따라서 하루라도 빠르게 코드로서 쿠버네티스를 익히고 이를 이용하여 앞서가는 개발자/엔지니어로 성장하고 함께 하실 수 있기를 바랍니다. 

지금 바로, 쿠버네티스의 배움을 코드와 함께 시작해 보면 어떨까요?


이 강의의 특징

  • 코드를 지금은 몰라도 들을 수 있습니다. (초반에 그림으로 코드를 설명합니다.)
  • 쿠버네티스 클러스터의 구성을 코드로 이해할 수 있습니다.
  • 쿠버네티스의 개별 오브젝트를 코드로 이해할 수 있습니다. 
  • 쿠버네티스의 구성 요소들을 효과적으로 구성 관리할 수 있는 방법을 알 수 있습니다.
  • 국내에서 쿠버네티스를 가장 넓게 다루는 강의입니다.
  • 현업 쿠버네티스 엔지니어가 직접 강의합니다.
  • 검증된 베스트셀러 '컨테이너 인프라 환경 구축을 위한 쿠버네티스/도커쿠버네티스 다루기'에서 쿠버네티스 부분을 깊이 있게 확장하는 강의입니다.
  • 자동 구성이 어려운 경우를 위해 이미지를 제공합니다. 

 

📖 OVA (Open Virtualization Archive), Qcow2(QEMU copy on write) 이미지 파일을 제공합니다. 

주변에 많은 분들이 쿠버네티스를 시작은 했지만, 어떻게 공부해야하는지 매우 어려워하는 것을 보았습니다. 기존에 '쉽게 시작하는 쿠버네티스'를 통해 개념을 잡았다고 해도... 사실 쿠버네티스를 제대로 다루려면 코드를 빼고는 할 수 있는게 매우 제한적입니다.

따라서 '쉽게 정말 쉽게 쿠버네티스를 코드로 다루는 것을 알려줄 수 있을까?’ ‘어떻게 하면 쿠버네티스 생태계에서 함께 하도록 할 수 있을까?’ 하는 고민을 녹인 강의입니다.

현재 강의를 모두 듣고 이해한다면 아래 아키텍처에 대한 그림들을 이해할 수 있게 됩니다. 

다양한 종류의 쿠버네티스 아키텍처


적극적인
쿠버네티스 기여 활동 

쿠버네티스 대시보드

쿠버네티스 문서 상에 쿠버네티스 대시보드 버전을 변경 요청 (이슈 보러가기

 

Nginx ingress Controller

Nginx Ingress controller가 v1.22에서 여전히 v1.21의 API를 호출하는 부분 수정 요청 (이슈 보러가기)

왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요 (슬라이드 보러가기)

GKE에서 GCP CDN을 설정하는 법  (슬라이드 보러가기)

CNCF(Cloud Native Computing Foundation) 앰버서더 활동 (링크 보러가기)


예상 질문 Q&A

Q. 사전 강의인 '쉽게 시작하는 쿠버네티스'를 듣지 않고 들어도 될까요?

예상 질문지에 있던 그 질문이군요. 권유의 레벨로는 '쉽게 시작하는 쿠버네티스'를 듣고 들으시기를 추천드리고 싶습니다. 강의 중에 계속 기존에 설명한 내용이라거나, 이미 설명한 개념을 설명하지 않을 것이기 때문입니다.

보다 정확한 판단을 위해서 현재 목차에 있는 내용을 보시고 절반 이상을 아시는 내용이라면, 바로 들으셔도 괜찮을꺼 같습니다. 또는 책 '컨테이너 인프라 환경 구축을 위한 쿠버네티스/도커'를 이미 충분히 습득한 상태라면 바로 들어도 괜찮습니다. 하지만 흐름이 있기 때문에 가능하다면 '쉽게 시작하는 쿠버네티스'를 듣고 난 이후에 들으시는걸 추천드리고 싶습니다. 이는 개인적인 선호 및 이해도에 따른 것이라 추천 수준으로 밖에 못하는 점에 대해서 양해 부탁드립니다. 

Q. 쿠버네티스를 꼭 이 강의를 통해서 배워야 하나요?

저는 솔직한 사람이니까. '아닙니다'. 가장 좋은 교과서는 쿠버네티스 공식 홈페이지입니다.  하지만 공식 홈페이지는 처음부터 공부하기에는 어떻게 시작하고 어떻게 배워야 할지 정의하기 어려운 부분이 있습니다. 이를테면 쿠버네티스 공식 홈페이지는 '교과서' 라고 생각하시고, 이 강의는 '참고서' 라고 생각하시면 좋을 것 같습니다. 교과서로 배우지만 새로 배우는 내용을 이해하기에는 참고서를 통해서 개념을 잡고 다시 교과서를 보는 흐름으로요. :)  

Q. 이 강의만 들으면 쿠버네티스를 모두 알 수 있나요?

기존 강의(쉽게 시작하는 쿠버네티스)에서는 언급했지만, 온라인/오프라인 강의 몇십 시간으로 쿠버네티스의 모든 것을 알려주는 건 불가능합니다. 쿠버네티스는 현대 IT에 있는 모든 요소들이 계속 집적(integration)되고 있어서, 단시간에 모든 것을 개인이 배우고 다 알았다고 할 수 있는 수준은 가능하지 않습니다. 또한 매우 빠르게 변화하고 필요한 요소마다 가야하는 방향이 매우 달라서 개인의 공부가 많이 필요한 기술입니다.

그래서 개인 공부에 도움을 드릴 수 있을 추후 강의들이 계속 준비되어 있습니다. 

강의에서 사용하는
프로그램과 버전 & 강의 소스 주소

버전 💾

  • Kubernetes - 1.30.1
  • Containerd - 1.6.31
  • MetalLB - 0.14.4 / 0.14.5
  • Nginx Ingress Controller - 1.0.0. beta
  • NFS Subdirectory External Provisioner - 4.0.2
  • Kubernetes Metrics Server - Master / 0.7.1
  • Kustomize - 5.4.2
  • Helm - 3.14.0
  • Kubernetes Dashboard - 2.7.0

인프라 구성 도구 🏗️

터미널 접속 도구 🚀

강의 소스


지난 강의
확인해 보세요!

📣 학습 전 확인해주세요!

  • 수강생 분들의 원할한 실습을 위해 최선을 다하고 있습니다만, 개인 환경에 따라 발생하는 Vagrant 관련 에러의 경우 도와드리지 못할 수 있는 점 양해 바랍니다.
  • (x86-64) Vagrant 관련 에러로 인해 실습 진행에 어려움을 겪는 분들을 위해 OVA 이미지를 제공합니다. (2.3 강의 하단에 내려받을 주소 제공)
  • (arm64) 환경에서도 이미지를 통해서 제한적으로 구성할 수 있도록 Qcow2 이미지를 제공합니다. (2.5 강의 하단에 내려받을 주소 제공)
  • 질문 답변을 제공하지만, 강의 비용에는 Q&A는 포함되어 있지 않습니다. 다만 실습이 안되거나, 잘못된 내용의 경우는 알려주시면 가능한 빠르게 조치하겠습니다.

이런 분들께
추천드려요!

학습 대상은
누구일까요?

  • '쉽게 시작하는 쿠버네티스'의 다음 강의를 기다리셨던 분

  • 쿠버네티스 메뉴얼을 따라가기 어려웠던 분

  • 쿠버네티스 넓은 개념들을 한번에 정리하기를 원하시는 분

  • 쿠버네티스 최근 버전(v1.30)의 강의를 원하신 분

  • '컨테이너 인프라 환경 구축을 위한 쿠버네티스/도커' 책에서 쿠버네티스 부분을 보강하고 싶은 분

  • 쿠버네티스를 단일 노드의 개념이 아니라 클러스터 개념에서 다루고 배우고 싶은 분

  • 실무적인 내용에 대해서 궁금하신 분

선수 지식,
필요할까요?

  • '쉽게 시작하는 쿠버네티스' 강의 또는 기초적인 쿠버네티스 지식

  • vi or vim의 기초적인 사용법(Y, dd, p, :wq, :q!)

  • 리눅스의 기초 명령어 (예: cd, ls, cat등)

  • 네트워크에 대한 기초 (예: 192.168.1.10/24과 192.168.1.101/24는 통신이 가능)

  • YAML과 같은 마크업 언어를 배우고자 하는 열의(당연히 설명드립니다)

CNCF Ambassador | Cloud Native Engineer

Documents:

Channels:

  • Linkedin

  • Github

  • Youtube

    시스템/네트워크 IT 벤더의 경험 이후, 메가존 GCP 클라우드 팀에서 쿠버네티스와 연관된 모든 프로젝트에 대한 Tech Advisor 및 Container Architecture Design을 제공하고 있습니다. 그 외에 페이스북 ‘IT 인프라 엔지니어 그룹’의 운영진을 맡고 있으며, 오픈 소스 컨트리뷰터로도 활동하고 있습니다. 

    그 외에 가지고 있는 지식을 공유하는 것을 좋아하여, 인프런/유데미에서 앤서블 및 쿠버네티스에 관한 강의를 기재하고 있으며, 또한 아는 지식을 문서로 남겨야 한다고 생각하기에 책( 『
    시스템/네트워크 관리자를 위한 파이썬 실무 프로그래밍』, 『우아하게 앤서블』), 『컨테이너 인프라 환경 구축을 위한 쿠버네티스/도커』(길벗) 이 있고, IT 잡지에 기고문을 쓰는 활동도 함께하고 있습니다. 그리고 CNCF의 앰버서더Kubestronaut 로서 쿠버네티스 및 그에 연관된 다양한 프로젝트 생태계가 더 활발하게 퍼질 수 있도록 기여하고 있습니다. 

커리큘럼

전체

175개 ∙ (30시간 32분)

수업 자료

가 제공되는 강의입니다.

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

수강평

아직 충분한 평가를 받지 못한 강의입니다.
모두에게 도움이 되는 수강평의 주인공이 되어주세요!