[쿠버네티스] 컨테이너 오케스트레이션

    728x90
    반응형

    출처

      1) 44BITS - 초보를 위한 쿠버네티스 안내서

      2) TTABAE-LEARN - [따배쿠] 쿠버네티스 시리즈

     

     

    Container(컨테이너)

    1) 호스트 운영 체제의 리소스를 공유하면서 격리된 프로세스 공간을 제공

          -가상 머신은 하이퍼바이저를 사용하여 호스트 시스템에서 완전히 격리된 가상 환경을 제공

    2) 응용 프로그램을 소프트웨어를 포함한 모든 것을 포함하는 완전한 실행 환경으로 구축

          -응용 프로그램을 호스트 운영 체제와 독립적으로 구축

     

     

    컨테이너의 장점

    1) 경량화: VM보다 가볍고 빠르며 더 효율적으로 동작 > 리소스 사용량이 줄어들고, 배포 및 확장이 더 빠르며 효율적

    2) 일관성: 실행 환경을 패키징 > 구축 환경간 일관성을 유지 > 개발에서 운영까지 동일한 환경에서 애플리케이션을 실행

    3) 이식성: 호스트 운영 체제와 관계없이 동작하므로 거의 모든 환경에서 실행될 수 있음

    4) 확장성: 필요에 따라 애플리케이션의 인스턴스 수를 증가시키거나 감소

     

     

    컨테이너의 단점

    1) 보안위협: 공유 커널을 사용하므로 한 컨테이너가 다른 컨테이너에 영향을 줄 수 있음

    2) 관리의복잡성: 컨테이너의 관리 및 오케스트레이션을 위한 도구가 필요함 > 컨테이너 오케스트레이션

    3) 지속적인 데이터 관리: 영속적인 데이터를 관리하기가 어려움

    4) 성능손실: 오버헤드 발생 문제

     

     

    Docker(도커)

    1) 컨테이너화 기술을 제공하는 플랫폼. 응용 프로그램을 패키징하고 배포하기 위한 오픈 소스

    2) 리눅스 컨테이너(Linux Containers, LXC) 기술을 기반

     

    도커 도입 이후 개발방식의 표준화 > 관리 도구의 필요성 > 컨테이너 오케스트레이션

    출처: Medium.com

     

     

    Container Orchestration(컨테이너 오케스트레이션)

    1) 복잡한 컨테이너 환경을 효과적으로 관리하기 위한 도구

    2) 대규모로 확장되고 복잡한 컨테이너 기반 환경에서 필수

    3) Kubernetes, Docker Swarm, Apache Mesos 등이 있음

     

     

    Container Orchestration의 특징

    1) Cluster: 노드를 클러스터 단위로 관리 > 서버관리자는 master-node만 관리하게 됨

    2) State: 상태 관리(컨테이너 갯수, 실행상태 등)

    3) Scheduling: 서버의 상황에 맞는 자동 배포

    4) Rollout Rollback: 버전 관리

    5) Service Discovery: 각 서비스의 위치와 통신 방법을 관리하고, 서비스 간의 통신을 용이하게 만듦

    6) Volume Storage: 노드별 목적에 맞는 Storage를 사용할 수 있도록 설정값을 관

    728x90
    반응형

    댓글