ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 쿠버네티스란
    컨테이너/쿠버네티스 2021. 1. 27. 23:05

    쿠버네티스의 장점


    애플리케이션 배포 단순화

     

    하드웨어 활용도 극대화

    •  노드의 하드웨어 리소스를 최상으로 활용할 수 있습니다.
    •  클러스터의 주변으로 자유롭게 이동하여 실행중인 다양한 애플리케이션 구성 요소를 클러스트 노드의 가용 리소스에 최대한 맞춰 서로 섞고 매치합니다.

     

    상태 확인 및 자가 치유

    애플리케이션 구성 요소와 실행되는 노드를 모니터링 하고 노드 장애 발생 시 다른 노드로 일정을 자동으로 재조정합니다.

     

    오토스케일링

    자동으로 리소스를 모니터링하고 각 애플리케이션에서 실행되는 인스턴스 수를 지속적으로 조정이 가능합니다.

     

     

    DevOps를 위한 쿠버네티스


    개발자 : 핵심 애플리케이션 기능에 집중 가능

    개발자는 특정 인프라 관련 서비스를 애플리케이션에 구현하지 않아도 됩니다.

     

    운영팀 : 효과적으로 리소스를 활용

    • 실행을 유지하고 서로 통신할 수 있도록 컴포넌트에 정보를 제공합니다.
    • 애플리케이션이 어떤 노드에서 실행되는지 신경 쓰지 않아도 됩니다.
    • 애플리케이션을 혼합하고 매칭시킴으로써 리소스를 매칭할 수 있습니다.

     

     

    쿠버네티스 클러스터 아키텍처


     

    • 쿠버네티스 API 서버 : 사용자, 컨트롤 플레인과 통신
    • 스케줄러 : 애플리케이션 예약
    • 컨트롤 매니저 : 구성 요소 복제, 워커 노드 추적, 노드 장애 처리 등 클러스터 수준 기능을 실행
    • 데이터 스토리지 : etcd는 클러스터 구성을 지속적으로 저장하는 안정적인 분산

     

    노드

    • 워커 노드는 컨테이너화된 애플리케이션을 실행하는 시스템
    • 컨테이너 런타임 : 컨테이너를 실행하는 도커
    • Kubelet : API 서버와 통신하고 노드에서 컨테이너를 관리
    • Kube-proxy : 애플리케이션 간에 네트워크 트랙픽을 분산 및 연결

     

    쿠버네티스에서 애플리케이션 실행


    쿠버네티스에서 애플리케이션을 실행 전

    사용자는 하나 이상의 이미지들을 패키지로 레지스트리에 푸시합니다.

    그 이후에 쿠버네티스 API 서버에 애플리케이션의 디스크립션을 게시하죠. 이 디스크립션은 yaml파일 또는 JSON파일이며 실제 이미지의 종류와 갯수와 같은 것을 명시해줍니다.

     

     

    댓글

Designed by Tistory.