What is a Kubernetes, CNCF ?

Kyle.하민 🧑🏻‍💻·2022년 5월 11일

A brief history of cloud

목록 보기
3/3
post-thumbnail

Overview

Orchestration tool (platform)

  • 많은 컨테이너들의 주변 환경들을 아우르기 위해
  • 컨테이너들을 컨트롤하고 배포하고 관리
  • app 의 확장과 장애 조치를 처리하고, 배포 패턴 등을 제공한다. ex) 카나리아 배포 쉽게 관리할 수 있다.

Kubernetes Cluster는 Container를 관리하고 실행 하기 위한 서버 또는 가상서버 (이후 Node라 칭함)의 집합체입니다. 최소 수준에서 Cluster는 Master Node 와 하나 이상의 Worker Node를 포함 하고 있습니다. Master Node는 Container의 작업 스케줄링, 코드 기반의 자원 확장 및 배포, 네트워킹 관리를 자동화하고, Worker Node는 Container 기반의 애플리케이션과 워크로드를 실제로 실행합니다.

What k8s can do

서비스 디스커버리와 로드 밸런싱

  • 쿠버네티스는 DNS 이름을 사용하거나 자체 IP 주소를 사용하여 컨테이너를 노출할 수 있다. 컨테이너에 대한 트래픽이 많으면, 쿠버네티스는 네트워크 트래픽을 로드밸런싱하고 배포하여 배포가 안정적으로 이루어질 수 있다.

스토리지 오케스트레이션

  • 쿠버네티스를 사용하면 로컬 저장소, 공용 클라우드 공급자 등과 같이 원하는 저장소 시스템을 자동으로 탑재 할 수 있다.

자동화된 롤아웃과 롤백

  • 쿠버네티스를 사용하여 배포된 컨테이너의 원하는 상태를 서술할 수 있으며 현재 상태를 원하는 상태로 설정한 속도에 따라 변경할 수 있다. 예를 들어 쿠버네티스를 자동화해서 배포용 새 컨테이너를 만들고, 기존 컨테이너를 제거하고, 모든 리소스를 새 컨테이너에 적용할 수 있다.

자동화된 빈 패킹(bin packing)

  • 컨테이너화된 작업을 실행하는데 사용할 수 있는 쿠버네티스 클러스터 노드를 제공한다. 각 컨테이너가 필요로 하는 CPU와 메모리(RAM)를 쿠버네티스에게 지시한다. 쿠버네티스는 컨테이너를 노드에 맞추어서 리소스를 가장 잘 사용할 수 있도록 해준다.

자동화된 복구(self-healing)

  • 쿠버네티스는 실패한 컨테이너를 다시 시작하고, 컨테이너를 교체하며, '사용자 정의 상태 검사'에 응답하지 않는 컨테이너를 죽이고, 서비스 준비가 끝날 때까지 그러한 과정을 클라이언트에 보여주지 않는다.

시크릿과 구성 관리

  • 쿠버네티스를 사용하면 암호, OAuth 토큰 및 SSH 키와 같은 중요한 정보를 저장하고 관리 할 수 있다. 컨테이너 이미지를 재구성하지 않고 스택 구성에 시크릿을 노출하지 않고도 시크릿 및 애플리케이션 구성을 배포 및 업데이트 할 수 있다.

CNCF

Cloud Native Computing Foundation

배경

오픈소스는 방향성을 제시할 필요할 재단이 필요. 누구나 Contrubute 할 수 있기 때문
k8s 는 구글이 Linux 재단에 기부
CNCF 는 k8s 에 대한 Linux 산하 재단

profile
We do not learn from experiences. We learn from reflecting on experiences

0개의 댓글