k8s, kubernetes, 쿠버네티스, MSA, 강의
  • 프로그래밍
  • 중급, 고급

쿠버네티스 딥다이브 : 7천+ 클러스터를 관리한 엔지니어의 MTTR 감소, SLA 증대 노하우

[국내 유일 K8s심화] Container, Controller, Interface, Networking 4가지 관점에서 바라보는 쿠버네티스 강의!

5기
강의 일정
24.05.25 ~ 24.07.06 (총 6회) 토요일 14:00~17:00 (총 18시간)

(휴강 : 06월 29일)

국내 최대 IT기업 클라우드팀은 어떻게 쿠버네티스를 관리할까?

쿠버네티스 내부분석으로 3일 밤낮 걸리던 이슈 30분만에 해결 가능!

강의소개

✨1, 2,3기 만족도 평균 9점!✨
국내 유일, K8s 내부분석으로 운영이슈 사전에 예방하세요.

쿠버네티스 강의

01. 쿠버네티스 트러블슈팅에 확신을 갖고 싶다면?

내가 무심코 선언한 Deployment를 배포하기 위해 얼마나 많은 컨트롤러들이 관여 되는지 아시나요? 쿠버네티스는 선언형 API 와 수많은 컨트롤러들의 집합체입니다.쿠버네티스 처음 설치될 때 기본적으로 작동되는 컨트롤러만 40개가 넘어가고 실제 운영환경에서는 100개가 넘어가기도 합니다. 단순히 Deployment 하나를 선언하는 것 만으로도 평균적으로 10~15개 정도의 컨트롤러가 관여 되지만, 문서화도 제대로 진행되지 않은 것이 불편한 현실입니다. 이러한 전체적인 흐름을 파악하고 자신이 필요한 정보를 얻어가는 법을 알려드립니다.

02. 로드밸런서로 요청한 패킷이 어떻게 처리되는지 알고 싶다면?

방대한 규모의 컨테이너들이 원활하게 돌아갈 수 있도록 쿠버네티스는 독특한 네트워크 컨셉을 만들었습니다. 이 과정에서 리눅스 네트워크 네임스페이스부터 eBPF 까지 다양한 기술들이 네트워크 통신과정에 참여하게 되고 우리의 트러블슈팅을 어렵게 만들고 있습니다. 이 통신과정을 패킷 단위로 살펴보면서 추상화된 개념 속에서 실제 통신은 어떻게 이뤄지고 있으며 어느 과정에서 부하가 많이 걸리고 이슈가 자주 발생하는지 살펴봅니다.

03. 안정적이고 지속적인 운영 관리를 하고 싶다면?

이 강의에서는 쿠버네티스를 매우 깊이 파고 들어가고 각 부분별로 발생 가능한 이슈 및 조치방법을 알려드립니다. 예를 들어 실제 로드테스터를 통해서 어떤 식으로 리소스를 관리 해야지 고부하 환경에서도 진정한 무중단 배포가 가능한지, 서버 가용량 관리는 어떻게 해야 새벽 3시에 잠에서 깨어나 회사 계정에 로그인 할 필요를 없게 해주는지, 각 서비스 노출방법별로 실제 물리적으로 발생하는 서버의 부하 등을 전달해 드릴 예정입니다.


본 강의에서

무엇을 얻어갈 수 있나요?

자사 K8s 서비스 최적화 및 안정화 고민에 대한 해답을 가져가실 수 있습니다.

  • 쿠버네티스 API 디자인

    PR로 보는 API 발전사

    Kubernetes의 API는 10년 가까운 시간동안 지속적으로 확장되면서 수십 개의 기본 컴포넌트 뿐만 아니라 CRD, API Aggregation Layer 등을 통해 사용자가 임의로 확장 가능한 형태입니다. 우리가 접할 수 있는 가장 기본적인 형태의 Workload 이면에 벌어지는 일들을 살펴보고 helm chart 를 클러스터가 자체적으로 관리하게 해주는 helm-controller를 배포해 봅시다. 쿠버네티스 API 학습을 통해 쿠버네티스의 기반기능이 아닌 것 또한 사용자의 필요에 따라 확장하여 유용하게 활용 가능합니다.

    쿠버네티스 강의
  • 클러스터 네트워킹

    패킷 분석

    쿠버네티스의 네트워크는 복잡합니다. Pod에서 Pod으로 요청하는 부분부터 다른 클러스터의 Pod가 보낸 요청이 자신이 운영하는 클러스터의 ClusterIP로 들어오는 것까지 모든 경우가 고유한 네트워크 경로를 가지고 있습니다. CNI, LB를 어떻게 사용하느냐에 따라서 같은 경우라도 다른 네트워크 경로를 타는 경우가 많습니다. 가장 기본적인 네트워크 통신 사례를 살펴보고, 자신의 쿠버네티스 환경에서는 어떤 방식으로 패킷이 처리되고 어느 부분에 성능 병목 현상이 발생할 수 있는지 이해하는 방법을 알아갑니다.

    쿠버네티스 강의
  • 지속가능한 클러스터 운영

    무중단 서비스 운영을 위해

    쿠버네티스는 방대합니다. 단순히 CI/CD 환경을 구축하는 것 만으로도 Jenkins부터 Tekton, Github Actions, ArgoCD 까지 수많은 선택지가 존재하고, 사용자 별 권한을 관리하는 방법도 수십 가지입니다. Deployment 하나 배포하는데도 NodeAffinity부터 Capabilities까지 옵션이 정말 방대한데 정답은 존재하지 않습니다. 이러한 방대한 선택지들을 선택할 때 고민해야 하는 것들을 정리해 드립니다. 이를 통해 외부 솔루션들이 Kubernetes 상에서 어떻게 작동하는지 알 수 있으며, 더 이상 개별 솔루션을 사용하는데 초점을 맞추지 않고 각 솔루션별 장점과 단점을 파악하여 상황에 적합한 솔루션을 사용할 수 있습니다.

    쿠버네티스 강의

작동원리 이해로 K8s 이슈의 99% 해결 가능,
실무에 즉시 적용 가능한 쿠버네티스 강의!


본 강의가 특별한 이유는

무엇인가요?

1

'Why'에 답할 수 있는 개발자

이 강의는 '왜'에 초점을 맞춥니다. 왜 이 상황에서는 이렇게 사용하는 것인지 다루며, 왜 이렇게 처리 할 수 밖에 없었는지, 구글 엔지니어는 왜 쿠버네티스를 이렇게 구현했는지 등을 다룹니다. 이를 위해 우리는 쿠버네티스 창시자가 작성한 논문, 개발자들이 작성한 PR, 커밋, 주석 등을 읽어 볼 것이며, 이 방식을 채택했을 때 어떤 문제가 발생할 수 있는지에 대해서 논의할 수 있는 쿠버네티스 강의입니다.

2

국내 유일, K8s 내부분석 강의

단순히 사용법을 배우는 것이 아닙니다. kubectl 명령어 몇 번 만으로 서비스가 배포되는 동안 그 이면에서는 어떤 일들이 발생하는지 이해할 수 있도록 쿠버네티스를 매우 깊게 분석합니다. 이를 위해 우리는 쿠버네티스를 Container Orchestrator, Controller, Networking, 그리고 수많은 표준 Interface 총 4가지 관점으로 실제 실습과 함께 쿠버네티스를 이해해 볼 것입니다.

3

대규모 클러스터 운영 노하우 전달

대부분 개발자가 쿠버네티스를 혼자 공부하고, 운영 경험이 부족한 채로 실무에 투입됩니다. 강사님의 대규모 컨테이너 경험을 기반으로 쿠버네티스 환경에서 더 빠르고 정확한 트러블슈팅을 하는 방법, 운영상 이슈 해결 방법 등을 알려드립니다. 이를 통해 쿠버네티스를 더 깊이 이해하고, 실무에서의 운영 및 개발에 필요한 실질적인 도움을 가져가실 수 있습니다.

수료생들의
생생한 후기가 궁금하다면?

인터넷에서 접하기 어려운 내용이여서 좋았고 현업에서 발생하는 이벤트나 환경 관련해서 들을 수 있어서 좋았다. 기존 강의자료보다 K8s 동작방식을 자세히 알 수 있었다.

대기업 사내 스타트업, 연구센터장

문서로는 알 수 없는 까다로운 부분을 소스코드와 비교한 설명이 있어서 좋았다. 앞으로 현업에서 마주할 가능성이 있는 트러블슈팅 상황에 대응할 수 있는 방향을 제시하는 강의였다.

데이터 전문기업, 개발자

쿠버네티스를 단순 사용하던 수준이었는데 이 강의를 통해 K8s 각 부분에 대한 깊은 수준의 이해가 가능했고 일반 강의에서 알기 힘든 노하우를 알 수 있었다. 실무 관점에서 반드시 알아야 하지만 책과 인터넷에서 찾기 어려운 내용들이 많다.

크래프톤, Data Engineer

방대하고 여기저기 흩어진 기존의 쿠버네티스 자료와 다르게 정리된 자료와 다양한 소스들을 접할 수 있어서 좋았다. 실제 다양한 상황에 대한 이해와 실습을 통해 현 프로젝트에 적용하여 도움이 될 수 있는 부분들을 많이 얻게 되었다.

ICT 솔루션 전문 기업, Sr. Technical Director

쿠버네티스의 다양한 버전에 대한 서비스 관리에 어려움을 느껴 수강하게 되었다. 소스를 봐야 한다는 것은 알고 있었지만, 어떻게 접근하고 풀어나가야 하는지에 대한 막연한 어려움이 있었다. 강의를 통해 이러한 부분이 많이 도움이 되었고, 원론적으로 완전한 해결을 할 수 있는 인사이트를 얻어간다. 여력이 된다면 다시 수강하고 싶은 강의이다.

IT 플랫폼 전문 기업, 인프라 기술 팀장

쿠버네티스의 원론적인 질문에 답을 할 때, 말 문이 막힐 때가 많았다. 강의를 통해 쿠버네티스의 원리, 코드 구성을 배우고 결론적으로 내가 어떠한 것을 해야 하는지에 대한 답변을 얻어갈 수 있었다. 강의에서 좋았던 것은 강사님께 “왜 이렇게 해야 하는지”에 대한 해답을 얻어갈 수 있다는 점이었다.

게임 개발사, DevOps Engineer
강의자료

이런 자료를 통해 학습해요!

쿠버네티스 강의

5개의 바이너리

쿠버네티스 강의

API 확장

쿠버네티스 강의

API 확장 실습

쿠버네티스 강의

컨트롤러 패턴

쿠버네티스 강의

컨트롤러 패턴 실습

쿠버네티스 강의

네트워크 이슈

쿠버네티스 강의

쿠버네티스 네트워크
FAQ

강의에 대해

궁금한 점이 있으신가요?

Q. 수강 시, 준비 사항은 어떤 것이 있을까요?

Docker가 작동되는 개인 PC가 꼭 필요합니다.

Q. 기초 지식이 없어도 수강이 가능한가요?

이 강의는 Ingress 리소스를 통해서 http 기반의 애플리케이션을 외부로 노출하는 방법을 이해하고 있는 정도의 사람들을 대상으로 기획하였습니다. 쿠버네티스 사용방법에 대해서는 다루지 않으므로, 수업 전에 기초적인 사용법을 본 강의 이외의 방법으로 습득하셔야 수업의 내용을 따라오실 수 있습니다.

Q. 대규모 시스템을 운영하는 쿠버네티스가 아닌데 이 강의가 저에게 적합할까요?

이 강의는 규모보다는 안정성에 초점이 맞추어진 강의입니다. 구체적으로 무중단으로 유지할 필요가 있는 서비스를 쿠버네티스 기반으로 운영하는 조직을 목표로 합니다. 서비스 가용성 측면에서는 한번의 실수가 매우 치명적이기 때문에 이러한 실수를 최소한으로 줄이고 안정적인 서비스에 기여하기 위해 이 강의가 꼭 필요합니다.

본 강의를 수강하기 전, 안내사항

  • * 해당 과정은 소수 정예 과정으로, 선착순으로 정원 초과 시 조기 마감될 수 있습니다.
  • * 본 과정은 오프라인 현장 강의입니다.
수강 대상

이런 분들은 꼭 들으셔야 해요!


이슈의 원인을 추적하지 못하고 있는 개발자


서비스 안정성에 대해 깊은 고민을 가지고 있는 DevOps Engineer


쿠버네티스의 보안, 운영 관리 효율화를
수행하고 싶은 쿠버네티스 관리자

강사소개

우리 강사님을 소개할게요!

쿠버네티스 강의

Luca

이력사항
  • (전) 스타트업 Software Engineer

1. 자기소개 부탁드립니다.

안녕하세요, 개발자 그리고 운영자로서 Kubernetes 관련 업무를 진행해 온 Luca입니다.
사내에서 수천대 규모의 K8s 클러스터들을 관리해 왔고 이들을 사람의 개입 없이 알아서 운영될 수 있도록 Operator를 포함한 각종 자동화 툴을 개발하는 업무를 주로 진행해 왔습니다. 단순히 사용에 목적을 둔 것이 아닌 API 형태로 K8s를 바라보고 필요하다면 새로운 기능을 개발해서 추가해 온 개발자로서 상당한 양의 코드 분석, 히스토리 파악 그리고 쿠버네티스 생태계에 대해 이해하게 되었고 관련된 경험을 공유하고자 이렇게 강의를 기획하게 되었습니다.

2. 강의에서는 주로 어떤 내용을 다룰 예정이시고, 어떤 형태로 진행되나요?

이 강의에서는 쿠버네티스를 4가지 관점에서 분석해 볼 것입니다.
첫 번째, 우리가 흔히 알고 있는 컨테이너 오케스트레이터로서의 쿠버네티스. 두 번째, 컨트롤러들의 플랫폼이라는 관점으로의 쿠버네티스. 세 번째, 네트워크 설정 자동화 플랫폼 관점으로의 쿠버네티스. 네 번째, 인터페이스 호출자로서의 쿠버네티스입니다. 각각의 관점을 이해하고 숙지한 뒤 흔히들 말하는 오퍼레이터란 무엇인지, ArgoCD, 프로메테우스 작동 등을 배웁니다. 또한 내용과 실습을 통해서 쿠버네티스에서 이슈가 발생했을 때 이 이슈는 어떤 자세로 접근해야지 가장 덜 고통스럽게 해결할 수 있는지에 대한 내용을 다뤄보려고 합니다.

3. 본 강의에서 배운 내용을 수강생 분들이 어떻게 활용할 수 있을까요?

1) 쿠버네티스 트러블슈팅에 확신을 가지지 못하는 DevOps/ SRE/ Developer
이 강의를 통해 쿠버네티스의 큰 흐름을 알고 어느 컴포넌트에서 이슈가 발생했는지 특정, 근본적인 해결이 가능합니다.
2) 책/강의에서 하라는 대로 실행할 때는 잘 되었지만 혼자 하려니까 아무것도 안 되는 분
각각의 설정이 가지는 의미와 쿠버네티스 내부에서 작동하는 구체적인 모습을 알려줍니다. 따라서 쿠버네티스가 작동하지 않는 다양한 상황에 대처할 수 있습니다
3) 안정적이고 지속가능한 쿠버네티스 운영을 원하는 DevOps / SRE / Developer
쿠버네티스 각 부분별 발생가능한 이슈 및 조치 방법을 알려드립니다. 이를 통해 쿠버네티스 관련 업무로 인한 야근과 당직을 줄일 수 있습니다.

4. 다른 강의와 어떤 차별점이 있나요?

쿠버네티스 사용법 이면의 것들을 다룹니다. 설계 히스토리와 왜 이런 설계가 반영되었으며, 이러한 내용들이 현재 수행하고 계신 업무들과 어떻게 영향을 줄 수 있는지에 대한 내용을 얻어가실 수 있습니다. 쿠버네티스는 Yaml 파일을 작성할 필요도 없이 명령어 3개 정도만 입력하면 지구상 어디서든 접속이 가능한 고가용성이 보장된 "Hello, World!" 서비스를 배포할 수 있습니다. 하지만 그 이면에 얼마나 많은 것이 감춰져 있을지 상상이 가시나요? 이를 실습과 함께 알려드립니다.

5. 마지막으로 수강생들에게 하고 싶으신 말이 있다면?

쿠버네티스는 정말 방대한 프로젝트이고 다루는 영역도 인프라 레벨부터 운영체제 레벨을 거쳐서 서비스 레벨까지 엄청 넓습니다. 그만큼 입문 난이도가 높지만, 한번 입문하고 나면 전세계의 대부분의 기업에서 사용하고 거의 실질적으로 업계 표준으로 인정될 정도로 많은 사람들에게 매력을 선사하는 프로젝트입니다. 앞으로 만나게 될 수강생 여러분들이 이 강의를 통해서 쿠버네티스를 더 깊게 이해하고 업무에서 만나고 있는 수많은 고난과 이슈들을 해결하는 계기가 되면 좋겠습니다.

커리큘럼 (6)

  • 1주차.쿠버네티스 개론: 쿠버네티스 구성요소 정리, 로컬환경 배포

    강의 목표

    • 쿠버네티스란 무엇인가라는 질문에 답변을 해 봅니다.쿠버네티스에서 중요한 요소를 담당하고 있는 5대 요소를 포함해서 각각의 요소가 어떤 역할을 담당하고 있고, 상호간에 어떻게 통신을 하고 있는지 알아봅니다.

    강의 내용

    • Linux 커뮤니티의 노력
    • Borg 로부터의 교훈
    • 쿠버네티스란 무엇인가?

    실습

    • 컨테이너 없는 쿠버네티스 배포
  • 2주차. API Server 로서의 쿠버네티스: API 전략 분석, 확장

    강의 목표

    • 쿠버네티스도 결국 API서버입니다. RESTful하며 인증과 인가가 존재하고 버저닝 정책도 존재합니다. 쿠버네티스 API를 사용해 보며 확장가능한 특징에 대해 살펴봅니다.

    강의 내용

    • 쿠버네티스 API 설계와 구조
    • 쿠버네티스 API 의 인증과 인가
    • 쿠버네티스 API 확장

    실습

    • helm controller RBAC 권한 부여
  • 3주차.쿠버네티스 컨트롤러 패턴: HTTP 기반 서비스 배포, 컨트롤러 패턴 분석

    강의 목표

    • 쿠버네티스를 가능하게 하는 중요한 개념 중 하나는 컨트롤러 패턴입니다. 쿠버네티스는 수많은 컨트롤러들이 각자가 맡은 역할에 최선을 다하며 우리가 API 를 통해 선언한 내용을 가능하도록 해줍니다. 그 과정을 직접 확인해보고 안정적인 배포를 위해서 어떠한점들을 고려해봐야 하는지 알아봅니다.

    강의 내용

    • 컨트롤러 패턴 개론
    • kube-controller-manager 개론
    • Deployment 와 BlueGreen 배포
    • StatefulSet 의 필요성
    • DaemonSet 과 인프라
    • Custom Workload 의 득과 실

    실습

    • 로드테스터와 함께하는 무중단 배포
  • 4주차.쿠버네티스와 네트워크: HostNetwork, HostPort, NodePort, Loadbalancer, Ingress

    강의 목표

    • 쿠버네티스가 각광받는 한 가지 기능은 네트워크 설정 자동화입니다. 쿠버네티스는 리눅스 커널과 연관되어 수많은 네트워크 설정이 자동화 되었으며 상당히 많은 기능들이 추상화 되어있습니다. 실제 패킷의 흐름을 관찰하며 어떻게 네트워크 통신이 이루어지고 있는지 관측해보고 이해해봅니다.

    강의 내용

    • 로드밸런서 개론
    • Service - ExternalName 와 개발종속성
    • kube-proxy
    • Packet Flow - ClusterIP / NodePort / LB / ExternalIP
    • L7 LB - Ingress

    실습

    • tcpdump 와 함께하는 패킷 관찰
  • 5주차.인터페이스 호출자 :OCI, CNI, CRI, CSI, CPI, SMI

    강의 목표

    • 쿠버네티스는 방대한 규모의 프로젝트입니다. 단일 프로젝트가 모든 상황에 사용될 수 있다는 것은 상상하기 어렵지만 쿠버네티스가 실제 그러합니다. 가능한 주요한 이유 중 하나는 핵심 기능을 적절히 추상화하고 인터페이스의 형태로 사용자가 직접 구현체를 만들어 사용할 수 있게 만들었기 때문입니다. 쿠버네티스에는 어떤 인터페이스들이 존재하고, 어떤 형태로 호출하고, 어떤 이슈가 발생할 수 있는지 살펴봅니다.

    강의 내용

    • 쿠버네티스의 확장 전략 - 인터페이스
    • OCI 표준 - Runtime, Image, Distribution
    • Kubernetes 표준 - CRI, CNI, CSI, CPI
    • 확장하는 표준 - SMI

    실습

    • kube-apiserver, kubelet 그리고 CSI 로그관찰
  • 6주차. 쿠버네티스 생태계: 쿠버네티스와 같이 사용할 프로젝트 고르는법

    강의 목표

    • 쿠버네티스를 이해하는게 전부가 아닙니다. 쿠버네티스에서 사용할 로그수집, 메트릭수집 프로젝트를 정하는 것부터 CI/CD, 비밀키 관리, 오토스케일링에 대해 살펴봅니다. 또한 쿠버네티스를 사용하지 않아도 되는 상황에 대한 고민을 해봅니다. 이러한 문제들을 고민을 할 때 어떤 것을 고려해야 하는지 논의합니다.

    강의 내용

    • 로깅 그리고 메트릭
    • 적절한 오픈소스 프로젝트 선정 방법
    • 지금까지의 쿠버네티스, 그리고 앞으로의 쿠버네티스

    실습

    • 각자의 운영환경 토론

커리어 성장으로 가는 길, 러닝스푼즈와 함께 하세요!

지금 보고 계시는 강의의 관련 태그로 다른 강의도 찾아보세요.

오프라인

쿠버네티스 딥다이브 : 7천+ 클러스터를 관리한 엔지니어의 MTTR 감소, SLA 증대 노하우

강의찾기