course thumbnail
  • 데이터사이언스
  • 중급, 고급

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

[국내 유일 k8s심화] Container, Controller, Interface, Networking 4가지 관점에서 바라보는 Kubernetes 마스터!

1기
23.04.08 ~ 23.05.13 (총 6회) 토요일 14:00~17:00 (총 18시간)

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

새로운 이슈, 프로젝트, 기능에 대한 해결력을 기를 수 있습니다.


강의소개

사용법 이면의 쿠버네티스 분석으로
실수를 줄이고, 서비스 안정성을 높이세요.

쿠버네티스

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

이슈를 겪을 때마다 구글링으로 찾은 kubectl명령어를 타이핑하여 작동하지만 왜 작동하는지, 내부적으로 작업이 어떻게 이루어지는지 모르는 경우가 대다수 입니다.

이 강의를 통해 쿠버네티스 내부로직을 이해하고 자신이 입력하는 명령어와 그로인해 쿠버네티스에 미치는 영향력을 전체적인 관점에서 이해하여 트러블슈팅에 자신감을 얻을 수 있습니다.

02.이슈 해결을 위해 무엇을 봐야하는지 몰라서 엉뚱한 곳에 시간을 낭비하고 있다면?

각각의 yaml field가 의미하는 바를 제대로 이해하지 못하고 사용하여 문제의 원인을 파악하지 못하고 계시나요?

yaml field에 대한 이해를 바탕으로 쿠버네티스 이슈 해결이 가능하도록 합니다. 또한 이슈가 발생했을 때 무엇을 검증해야 하는지 구체적인 방법을 제시합니다.

03.안정적이고 지속가능한 쿠버네티스 운영을 원한다면?

방대한 쿠버네티스 생태계 속에서 어디까지가 '쿠버네티스'인지 감을 잡기 어렵고 담당 업무의 범위도 한정하기 힘듭니다.

안정적이고 지속가능한 서비스 운영을 위해 사전에 고려해야 하는 점을 가이드하여 막대한 비용지출을 막습니다.


본 강의에서
무엇을 얻어갈 수 있나요?

카카오 출신 Cloud Engineer의 어떤 상황에도 통하는 쿠버네티스 관리 노하우

  • API확장


    Customer Resource Definition / API Aggregation Layer 의 사용법, 사용 사례를 확인하여 쿠버네티스를 어떻게 사용할 수 있는지 정리합니다.

    helm-controller 를 배포하는 실습을 통해 실제 확장된 API 가 작동하는 원리와 장점 그리고 단점에 대해서 생각해봅니다.

    CRM 강의
  • 컨트롤러 패턴


    리소스 배포시 컨트롤러들이 충돌하지 않고 작동할 수 있는 방법, 컨트롤러 고장시 발생가능한 이슈를 살펴봅니다.

    또한 컨트롤러 작동에 관여된 요소들을 정리하여 컨트롤러와 연관된 트러블 슈팅 정확도를 높입니다.

    고객 분석 강의
  • 네트워크


    CNI를 기준으로 네트워크의 노출방식, 구현방법 등을 살펴봅니다.

    실제 네트워크 패킷 분석과 현업과 유사한 장애상황을 통해 문제 정의부터 해결까지의 과정을 익힙니다.

    쿠버네티스

모든 회사, 상황에 적용가능한 쿠버네티스 사용과 관리


본 강의가 특별한 이유는
무엇인가요?

1

회사별 구축방식과 상관없이 적용 가능합니다.

쿠버네티스의 필수 바이너리 5개(kube-apiserver, kube-controller-manager, kuber-scheduler, kuberctl, kubelet)중심으로 커리큘럼을 구성했습니다.

회사별 쿠버네티스를 구축방식이나 사용방법, 작동구조가 달라질 수 있는 반면 위 다섯개의 바이너리는 쿠버네티스라고 부를 수 있는 모든 클러스터들이 공통적으로 가지고 있기 때문입니다.

2

쿠버네티스에 대한 다양한 시각을 제시합니다.

단순히 사용법을 배우는 것이 아닙니다. 명령어 몇 번만으로 서비스가 배포되는 동안 그 이면에서는 어떤 일들이 발생하는지 이해할 수 있도록 k8s를 깊게 분석합니다.

총 4가지 관점인 컨테이너 오케스트레이터, API&컨트롤러, 네트워크, 다양한 표준 인터페이스 정의 관점으로 쿠버네티스를 이해해보며 실제 알려진 이슈를 연관된 관점으로 분석해봅니다.

3

신기술에 대한 자신감을 기를 수 있습니다.

매일매일 쏟아지는 신기술에 겁먹지 마세요. 결국 쿠버네티스에서 사용가능한 기능은 제한되어 있습니다.

신기술은 이러한 기능들을 어떻게 활용할지에 대한 해결책이 제시되었을 뿐입니다. 신기술에 초점을 두지 않고, 자신에게 적합한 프로젝트를 고르는 방법에 대해서 알게 됩니다.

강의자료

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

쿠버네티스

5개의 바이너리

쿠버네티스

API 확장

 서비스 기획 강의

API 확장 실습

 서비스 기획 강의

컨트롤러 패턴

  서비스 기획 강의

컨트롤러 패턴 실습

  서비스 기획 강의

네트워크 이슈
FAQ

강의에 대해
궁금한 점이 있으신가요?

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

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

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

이 강의는 쿠버네티스를 통해 간단한 서비스를 외부에서 접속 가능한 형태로 배포 해본 적 있는 사람들을 대상으로 합니다.

Q. 쿠버네티스를 사용하지 않는 조직인데 이 강의가 저에게 적합할까요?

네, 쿠버네티스를 사용하지 않더라도 쿠버네티스는 수많은 엔지니어들이 고민끝에 결정한 디자인 요소들의 집합체 입니다. 이 강의에서는 이러한 요소들을 알아갈 수 있는 방법을 알려드리며 현재 고민중이신 개발, 정책적인 요소에 큰 영감을 얻어가실 수 있을것입니다.

수강 대상

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


복잡한 애플리케이션 배포가 어려운 개발자


쿠버네티스를 사용하여 배포한 애플리케이션의 성능 최적화를 고민하는 시스템 엔지니어


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

강사소개

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

쿠버네티스

이완해

이력사항
  • (전) 카카오 클라우드 플랫폼팀 소속 엔지니어
  • Kubernetes as a Service, DKOS 개발
  • 카카오 쿠버네티스 이슈 탐색 프로젝트: detek
  • DKOS 용 terraform provider 개발
  • 사내 Container Registry / CI Platform 유지보수
  • Kubecon CloudNativeCon na 2022 발표- Surviving From Endless Issues Coming From 7K+ Kubernetes Clusters
  • Ingress Controller 개발
  • Cloud Controller Manager 개발
  • detek-server 개발 (detek 을 API 형태의 서비스로 제공하는 Kubernetes Native한 웹서버)
  • Vaccine Controller 개발 (자동으로 각 노드별로 사내 백신을 설치해주는 K8s Controller)

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

안녕하세요. 개발자 그리고 운영자로서 카카오에서 Kubernetes 관련 업무를 진행해온 이완해 입니다.
회사에서 7천대가 좀 넘어가는 쿠버네티스 클러스터들을 관리해왔고, 이들을 사람의 개입없이 API 형태로 관리 가능하도록 개발하는 업무를 주로 진행해 왔습니다.

단순히 사용에 목적을 둔 것이 아닌 API 형태로 쿠버네티스를 관리하는 개발자로서 상당한 양의 코드분석, 히스토리 파악 그리고 쿠버네티스 생태계에 대한 이해를 하게 되었고 관련된 경험을 공유하고자 이렇게 강의를 기획하게 되었습니다.

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

이 강의에서는 쿠버네티스를 4가지 관점에서 분석해 볼 것입니다. 첫번째, 우리가 흔히 알고있는 컨테이너 오케스트레이터로서의 쿠버네티스. 두번째, 컨트롤러들의 플랫폼이라는 관점으로의 쿠버네티스. 세번째, 네트워크 설정 자동화 플랫폼 관점으로의 쿠버네티스. 네번째, 인터페이스 호출자로서의 쿠버네티스입니다.

각각의 관점을 이해하고 숙지한 뒤 흔히들 말하는 오퍼레이터란 무엇인지, ArgoCD, 프로메테우스 작동 등을 배웁니다. 또한 내용과 실습을 통해서 쿠버네티스에서 이슈가 발생했을때 이 이슈는 어떤 자세로 접근해야지 가장 덜 고통스럽게 해결할 수 있는지에 대한 내용을 다뤄보려고 합니다.

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

1.쿠버네티스 트러블슈팅에 확신을 가지지 못하는 DevOps/ SRE/ Developer
이 강의를 통해 쿠버네티스의 큰 흐름을 알고 어느 컴포넌트에서 이슈가 발생했는지 특정, 근본적인 해결이 가능합니다.

2.책/강의에서 하라는 대로 실행할 때는 잘 되었지만 혼자 하려니까 아무것도 안되는 분
각각의 설정이 가지는 의미와 쿠버네티스 내부에서 작동하는 구체적인 모습을 알려줍니다. 따라서 쿠버네티스가 작동하지 않는 다양한 상황에 대처할 수 있습니다.

3.안정적이고 지속가능한 쿠버네티스 운영을 원하는 DevOps/ SRE/ Developer
쿠버네티스 각 부분별 발생가능한 이슈 및 조치 방법을 알려드립니다. 이를 통해 쿠버네티스 관련 업무로 인한 야근과 당직을 줄일 수 있습니다.

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

쿠버네티스 사용법 이면의 것들을 다룹니다. 설계 히스토리와 왜 이런 이런 설계가 반영되었으며, 이러한 내용들이 현재 수행하고 계신 업무들과 어떻게 영향을 줄 수 있는지에 대한 내용을 얻어가실 수 있습니다.

쿠버네티스는 Yaml 파일을 작성할 필요도 없이 명령어 3개정도만 입력하면 지구상 어디서든 접속이 가능한 고가용성이 보장된 "Hello, World!" 서비스를 배포할 수 있습니다. 하지만 그 이면에 얼마나 많은것이 감춰져 있을지 상상이 가시나요? 이를 실습과 함께 알려드립니다.

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

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

앞으로 만나게 될 수강생 여러분들이 이 강의를 통해서 쿠버네티스를 더 깊게 이해하고 업무에서 만나고 있는 수많은 고난과 이슈들을 해결하는 계기가 되면 좋겠습니다.

커리큘럼 (6)

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

    강의 목표

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

    강의 내용

    • 쿠버네티스의 과거와 현재
    • 쿠버네티스는 무엇인가

    실습

    • 로컬 환경에 쿠버네티스 배포
  • 2주차. API Server 로서의 쿠버네티스: API 전략 분석, 확장

    강의 목표

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

    강의 내용

    • 쿠버네티스 API전략 분석
    • 인증과 인가
    • 쿠버네티스 API확장

    실습

    • curl 명령어를 통해서 쿠버네티스 조작
    • curl 쿠버네티스 API확장하기
  • 3주차. 쿠버네티스 컨트롤러 패턴: HTTP 기반 서비스 배포, 컨트롤러 패턴 분석

    강의 목표

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

    강의 내용

    • ControllerManager 이해하기
    • 컨트롤러 패턴 관련한 주의사항 알아보기

    실습

    • 헬로 월드 서비스 배포해보기
    • 쿠버네티스 고장내기
  • 4주차.쿠버네티스와 네트워크: HostNetwork, HostPort, NodePort, Loadbalancer, Ingress

    강의 목표

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

    강의 내용

    • "Hello world"서비스 노출해보기
    • kube-proxy, CNI 이해하기
    • 네트워크 패킷 심층분석

    실습

    • 실전 트러블슈팅
  • 5주차.인터페이스 호출자 :OCI, CNI, CRI, CSI, CPI, SMI

    강의 목표

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

    강의 내용

    • Open Container Initiative (OCI)
    • Container Network Interface (CNI)
    • Container Runtime Interface (CRI)
    • Container Storage Interface (CSI)
    • Cloud Provider Interface (CPI)
    • Service Mesh Interface (SMI)
  • 6주차. 쿠버네티스 생태계: 쿠버네티스와 같이 사용할 프로젝트 고르는법

    강의 목표

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

    강의 내용

    • 내 환경에 알맞은 쿠버네티스 운영방법에 대한 고민
    • 3rd Party Project들에 대한 고민 - Istio, Prometheus, EFK, ArgoCD 등
    • 앞으로의 쿠버네티스

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

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

오프라인

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

매일 선착순 20명 한정! 할인가 확인하고 커리어 성장하세요!