쿠버네티스(K8s) 개념 정리

JACKJACK·2022년 10월 20일
1
post-thumbnail
post-custom-banner

📝쿠버네티스란?

쿠버네티스는 컨테이너화 된 워크로드와 서비스를 관리하기 위한 오픈소스 플랫폼이다.

(쿠버네티스 ≒ 컨테이너 오케스트레이션 플랫폼)

  • 쿠버네티스의 등장배경
  1. 전통적 배포: 초기 어플리케이션의 배포는 하나의 물리서버에서 여러 어플리케이션을 실행하면 리소스 할당이 자유롭지 못해 비용이 많이들었다.
  2. 가상회된 배포: 가상화가 도입되면서 Host OS에서 여러대의 VM(Guest OS 및 실행환경 포함)을 만들어 리소스를 보다 효율적으로 사용하고, 각 어플리케이션마다 격리를 시켜 배포 시 보안성을 제공했다.
  3. 컨테이너 배포: 컨테이너를 사용해 어플리케이션과 개발환경을 같이 격리시키기 시작했다. 컨테이너는 VM과 유사하지만 격리를 완화시켜 Host OS를 공유하기 때문에, 이미지 생성과 사용이 더 가볍다는 장점이 있다. 또한 컨테이너를 패키징한 이미지는 여러 레어이 층으로 이루어져 있고 레이어는 읽기전용이기 때문에 롤백이 쉽다.
    -> 컨테이너를 쉽게 관리하기 위해 쿠버네티스 등장 (2014년 구글이 쿠버네티스를 오픈소스화)




📝쿠버네티스의 역할

쿠버네티스는 이러한 어플리케이션과 실행환경을 포장한 컨테이너를 관리하고 보다 탄력적으로 실행시켜주는 역할을 가진다.

  • 쿠버네티스의 역할을 이해하기 위해선 쿠버네티스의 컴포넌트와 동작을 이해할 필요가 있지만 우선 간단하게 얘기하자면 다음과 같다.
  1. 서비스 디스커버리와 로드밸런싱으로 네트워크 트래픽을 로드밸런싱 해준다.

  2. 스토리지 오케스트레이션을 통해 로컬, 클라우드 등 원하는 저장소 시스템을 자동 탑재한다.

  3. 자동화된 롤아웃과 롤백으로 설정값에 맞게 쉽게 새 컨테이너를 만들고 제거하며 컨테이너를 관리해준다.

  4. 자동화된 빈 패킹(bin packing)으로 컨테이너를 노드에 맞춰서 리소스를 효율적으로 가장 잘 사용할 수 있게 해준다.

  5. 자동화된 복구로 클라이언트에게 티가 나지 않도록 죽은 컨테이너를 교체한다.

  6. 시크릿과 구성관리를 사용해 중요한 보안성 정보들을 저장하고 관리할 수 있다.




💡결론

- 쿠버네티스는 컨테이너화 된 워크로드와 서비스를 관리하는 컨테이너 오케스트레이션 플랫폼이다.

profile
러닝커브를 빠르게 높이자🎢
post-custom-banner

0개의 댓글