YoungSoo

Kubernetes 본문

Cloud/Kubernetes

Kubernetes

YoungSooSoo 2023. 2. 10. 17:52

Kubernetes 란?

  • 대규모 서버 환경에서 Container 관리를 자동화하는 플랫폼
  • k8s라 불림.
  • 컨테이너 배포, 자동 복구, 확장 들 컨테이너 화 된 애플리케이션의 관리를 위한 오픈소스 시스템
  • 컨테이너 오케스트레이터의 사실상의 표준 기술. 크고, 빠르게 성장하는 생태계를 가짐

Kubernetes의 주요 기능

  • 수 천대의 서버(클러스터)에 분산되어 있는 대규모 컨테이너와 자원을 선언한대로 관리해줌.
  • 스케줄링 : 다수의 컨테이너를 다수의 호스트(클러스터)에 적절하게 분산 실행.
  • 상태 관리 : 원하는 상태(desired state)로 실행 상태를 유지.
  • 배포 / 스케일링 : 서비스 중단 없이 자동화된 배포를 통해 업데이트를 하거나 스케일을 확장/축소
  • 서비스 디스커버리 : 새로운 컨테이너에 접근할 수 있는 방법을 제공
  • Resource 연결 관리 : 라이프 사이클에 맞춰 관련 자원을 연결(설정/네트워크/스토리지)

Kubernetes 동작 원리

  • 쿠버네티스의 아키텍처 : Master & Slave 아키텍처
  • kube-apiserver : 모든 요청을 받고, etcd에 저장
  • kube-controller-manager : 실제 Resource 관리를 수행하는 컨트롤러의 집합
  • kubelet : Worker Node의 에이전트로서 Node와 Pod의 상태 파악과 실행, 보고
  • etcd : 모든 오브젝트의 상태를 저장하는 key/value 저장소
  • kube-scheduler : 새 pod의 생성을 관찰하여 스케줄링
  • 선언형 API = Object와 Controller
  • Controller가 제출된 Object에 Desired State(=Spec)와 Current State를 비교(loop), Resource 관리

Kubernetes의 장점

  • 컨테이너화 된 애플리케이션을 수 천대의 서버에 자동 배포/실행 해줍니다.
  • 애플리케이션이 죽으면 건강한 다른 서버에 자동으로 살려줌.
  • 서비스 중단 없이 업데이트 가능.
  • KaaS(Kubernetes-as-a-Service)를 이용하면 클러스터에 서버 추가/삭제가 쉽다.

'Cloud > Kubernetes' 카테고리의 다른 글

Kubernetes Pod  (0) 2023.03.18
Kubernetes 아키텍처  (0) 2023.03.17
Kubernetes로 컨테이너 실행하기  (0) 2023.03.16
Kubernetes Cluster를 직접 구성하는 도구  (0) 2023.03.15
Kubernetes 란?  (0) 2023.03.14