You are currently viewing [Udemy 강의후기] DevOps (데브옵스) : Kubernetes 완전 정복

[Udemy 강의후기] DevOps (데브옵스) : Kubernetes 완전 정복

Udemy X 글또 이벤트를 통해 협찬받은 강의에 대한 후기글입니다.


1. Intro


현대적인 앱 개발 방법론을 공부하다보면 자주 등장하는 키워드가 DevOps와 Kubernetes이다. 그 둘은 무슨 관련이 있는걸까? DevOps 없이 Kubernetes를 사용할 수 있을까? 답은 그렇다이다. 그냥 수동으로 컨테이너 배포하면 된다. Kubernetes 없이 DevOps를 하는것은? 그것또한 가능하다. 그냥 기존 VM/EC2기반에 컨테이너화하지 않고 배포하면된다. 그래도 그 둘이 짝지어져 자주 등장하는 이유는, DevOps 문화와 Kubernetes 플랫폼이 결합되었을때 더 큰 장점을 가져다 주기 때문이다.


소프트웨어의 필요조건, 기능, 구조들은 점점 복잡해지만, 소비자에게 전달되어야 하는 시간은 점점 짧아져야만한다. 이 딜레마를 해결하는 것이 현대적 앱 개발의 숙제이다. 이를 해결하기위한 방법론은 여러가지가 있으나 개인적으로 친숙한것은 Cloud Native Architecture이며, Cloud Native APP을 지탱하는 기둥들(The Pillars of Cloud Native)과 같은 키워드로 검색하면 위의 그림과 같은 도표를 자주 볼 수 있다.

위의 그림에서 DevOps 방법론은 Automation에 해당하고, Kubernetes 플랫폼은 Container에 해당할 것이다. 복잡한 요구조건/빠른 배포를 달성하기 위하여 소프트웨어는 거대한 단일한 모놀리식 구조 대신 느슨하게 연결된 작은 서비스들의 집합으로 구성된다(MicroServices). 수없이 많은 마이크로 서비스에 대해 자동화를 통해 기획,테스트,배포,모니터링을 용이하게 하는것이 DevOps 방법론(Automation)이며, 개별 앱들의 세세한 요구사항을 컨테이너화하여 배포를 용이하게하고, 앱 뿐만 아니라 컴퓨팅리소스, 스토리지, 오토스케일링, 배포전략(롤링/카나리 등)을 중앙집중형으로 관리하기 위해 Kubernetes 플랫폼이 필요하다(Container)

Kubernetes 단일로는 다수 컨테이너를 관리(Container Orchestation)할 수 있다. 이제 그 과정에서 반복적인 작업을 자동화하여 인간의 개입 및 실수를 줄인다면 더욱더 효율적으로 사용할 수 있을것이다. 이것이 DevOps와 Kubernetes를 같이 활용할 때의 장점이고, 이 강의를 통해서 기대했던 목표이다.

2. 특장점

k8s와 연계할 수 있는 다른 도구들의 소개

본 강의에서는 강의 전반부의 기초/심화주제로 쿠버네티스 내부의 리소스를 생성,조작 하는 방법을 익힌다. 그 후, 다음 주제들과 내용들을 학습한다.

  • 쿠버네티스 관리
    • 리소스 쿼터
    • 사용자 관리 및 RBAC
    • 노드 유지 보수 및 고가용성
    • 어드미션 컨트롤러, mutating & validation webhook
  • 쿠버네티스에서 패키징 및 구축하기
    • Helm chart 사용법 및 스스로 작성하기
  • 쿠버네티스를 이용한 지속적 개발
  • 쿠버네티스를 이용한 깃옵스
  • 쿠버네티스 상의 서버리스
  • 마이크로 서비스


쿠버네티스를 잘 익히고 활용하기에 있어 단순 YAML로는 한계가 있다. 쿠버네티스는 오픈소스인 만큼 관련 생태계도 오픈소스로 많은 도구들이 존재하고 그 도구를 활용하는 일련의 예시들을 학습할 수 있다. 이를 통해 쿠버네티스를 어떻게 쓰는지를 넘어, 쿠버네티스를 어떻게 활용할 수 있을지에 대한 지식을 얻을 수 있다.

단점

Old.. Old..

CNCF Landscape, Projects And Products (Apr, 2024)

k8s 생태계 도구는 그 수가 많은 만큼 트렌드도 많이 바뀐다. 쿠베 활용에 있어서 제시된 강의 주제 각각은 마음에 드나, 실질적으로 소개된 도구들은 아쉬움이 다소 남는다. 해외와 국내 환경의 차이일까? 또는 2024 현재 시점에서 적절하지 않은 / 많이 사용되지 않는 도구라는 점들이 아쉽다. 단적으로

  • Flux
    • Flux를 최초 개발하고 후원하였던 Weaveworks는 24년 2월에 폐업하였음.
    • CNCF 졸업 프로젝트이기에 외부 메인테이너들이 개발을 이어나곤 있지만..
  • Kubeless
  • Istio
    • 20년 3월 Control Plane Restructuring
    • 기존 Galley, Citadel, Pilot, Mixer등의 구성요소 deprecated, Istiod로 단일화
      • 공부하는 목적에서 개별컴포넌트로 공부하는것은 절대로 나쁘지 않다. 하지만.. 최소 4년 전 구조인데.. 그간 쌓인 업데이트는 당연히 반영안되어있을것이고..
ㅠㅠ


3. Outro

DevOps (데브옵스) : Kubernetes 완전 정복 이 강의는

  • Kubernetes 기본 강의 수강 완료 후 추가 주제 / 강의를 찾는 사람들
  • Kubernetes 플랫폼을 중심으로 어떤 생태계가 구축되어있는지 궁금한 사람들

에게 적절한 강의라고 생각한다.


단순히 Kubernetes의 제어뿐만 아니라, 그 외의 어떤 외부도구들과 상호작용할 수 있는지 일부를 엿볼 수 있어서 좋은 강의였다고 생각한다.

Leave a Reply