• [Kubernetes Foundation] Kubernetes
    아키텍처 공부/Cloud 2022. 9. 25. 21:09
    반응형

     쿠버네티스의 정의

     쿠버네티스는 컨테이너 중심의 관리 환경이다. 컨테이너화된 애플리케이션의 배포, 확장, 부하 분산, 로깅, 모니터링 및 기타 관리 기능을 자동화한다. 쿠버네티스의 역할은 배포된 시스템을 원하는 상태에 맞게 만든 후 장애가 발생하더라도 원했던 상태 그대로 유지도록 복구하는 것이다. 

     

     쿠버네티스의 특징

     쿠버네티스는 리소스 사용률에 따라 컨테이너화된 애플리케이션을 자동으로 확장(scale out)축소(scale in)할 수 있다. 그리고 워크로드에 대한 리소스 요청(request)리소스 제한(limit)도 지정할 수 있다. 이러한 리소스 제어를 통해 쿠버네티스 클러스터 내에서 전반적인 워크로드의 성능을 개선할 수 있다. 추가로, 개발자는 플러그인(istio 등)과 부가기능의 풍부한 생태계를 통해 쿠버네티스를 확장할 수 있다. 

     

     파드는 배포 가능한 가장 작은 쿠버네티스 오브젝트(Object)다. 쿠버네티스 시스템에서 실행 중인 모든 컨테이너는 파드다. 파드에 이상의 컨테이너가 있는 경우 밀접하게 결합되어 네트워킹 스토리지를 포함한 리소스를 공유한다. 쿠버네티스는 파드에 고유한 IP 주소를 할당한다. 파드 내의 모든 컨테이너는 IP 주소 및 네트워크 포트를 포함한 네트워크 네임스페이스를 공유한다. 동일한 파드 내의 컨테이너는 localhost 127.0.0.1을 통해 통신할 수 있다. 파드는 컨테이너 간에 공유할 스토리지 볼륨 집합을 지정할 수도 있다.

     

     

     GKE의 정의

     GCP의 쿠버네티스 완전 관리형 서비스를 Google Kubernetes Engine 또는 GKE라고 한다. GKE는 완전 관리형이므로 기본 리소스를 프로비저닝할 필요가 없다.(GKE에서 실행되는 쿠버네티스 클러스터가 직접 프로비저닝하는 클러스터보다 관리 작업이 훨씬 적다.) GKE는 컨테이너 최적화 운영 체제를 사용한다. 이러한 운영 체제는 Google에서 관리한다. GKE를 사용할 때 먼저 쿠버네티스 시스템을 인스턴스화하도록 서비스에 지시한다. 이 시스템을 클러스터라고 한다. 

     

     GKE 클러스터 내에서 컨테이너를 호스팅하는 VM(Virtual Machine)을 노드(node)라고 한다. GKE의 자동 복구 기능을 사용 설정하면 서비스가 자동으로 비정상 노드를 복구한다. 클러스터의 각 노드의 상태를 주기적으로 확인한다. 노드가 비정상인 것으로 확인되어 수리가 필요한 경우 GKE는 노드를 드레이닝(워크로드가 정상적으로 종료된 다음 해당 노드를 다시 생성하는 것)한다.

    반응형

    댓글

Designed by Tistory.