Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Info
iconfalse
title목차

Table of Contents

쿠버네티스 한줄정의

Info
iconfalse

컨테이너화된 어플리케이션의 배포, 확장 및 관리를 자동화하는 오픈 소스 플랫폼

쿠버네티스의 특징

  • Info
    iconfalse

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

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

    collapsetrue
    서비스 디스커버리: 추가된 사항이나, 변경사항을 자동으로 발견하고 감지 하여 자동으로 업데이트 하고 연결을 유지 하는 것
  • 
    로드 밸런싱: 단일 서비스로 노출하고, 트래픽을 분산 하는 것
    MSA Eureka

  • 2. 스토리지 오케스트레이션

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

    • Volumes
    • Code Block
      스토리지 오케스트레이션: 스토리지의 자동화된 설정, 관리, 조정을 의미
    • Volumne


    3. 자동화된 롤아웃과 롤백

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

    • Deployment
    • Code Block
      롤아웃: 어플리케이션의 배포된 상태를 원하는 상태로 변경하는 것
      롤백: 어플리케이션의 변경된 상태를 다시 되돌리는 것
      (무중단 배포와 무중단 복구를 지원)


    4. 자동화된 빈 패킹(bin packing)

    컨테이너화된 작업을 실행하는데 사용할 수 있는 쿠버네티스 클러스터 노드를 제공한다. 각 컨테이너가 필요로 하는 CPU와 메모리(RAM)를 쿠버네티스에게 지시한다. 쿠버네티스는 컨테이너를 노드에 맞추어서 리소스를 가장 잘 사용할 수 있도록 해준다.
    • kube-scheduler
    • Code Block
      빈 패킹: 가장 적절한 노드에 리소스를 가장 효율적으로 사용될 수 있도록 하는 기술


    5. 자동화된 복구(self-healing)

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

    • ReplicaSet
    • Code Block
      실패하거나 응답하지 않는 리소스를 교체하는 기술


    6. 시크릿과 구성 관리

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

    • ConfigMap
    • Secret
    • Code Block
      어플리케이션 환경변수를 별도로 관리하는 기술
      MSA Config


    7. 다양한 클라우드에서 지원

    • AWS
    • Google
    • MS Azure
    • Naver
    • IBM
    • Oracle
    • ...
    • k8s를 지원하지 않는 벤더사를 찾기 어려움


    8. MSA 및 DevOps실현을 위한 최적의 플랫폼

    Info
    iconfalse

    쿠버네티스의 핵심은 'Desired State' (원하는 상태)

    • Current
    • State를
    • 모니터링하면서
    • 관리자가
    • 설정한
    • Desired
    State를 유지하기위한 기능