Kubernetes
쿠버네티스

쿠버네티스 (Kubernetes)
쿠버네티스 (Kubernetes)

Kubernets(쿠버네티스)란?


쿠버네티스(Kubernetes)는 컨테이너화된 애플리케이션(Containerized Application)의 배포, 확장, 그리고 관리를 할 수 있는 오픈소스 컨테이너 오케스트레이션 시스템입니다.

“쿠버네티스”, “쿠베르네테스”, “K8s”, “쿠베”, “쿠버”, “큐브”라고 부르며 Apache License 2.0 라이선스로 리눅스 재단(Linux Foundation) 산하 클라우드 네이티브 컴퓨팅 재단 (CNCF : Cloud Native Compution Foundation)에서 관리합니다.

쿠버네티스(Kubernetes)는 구글 엔지니어들이 개발하고 설계한 플랫폼으로써, 사내에서 이용하던 컨테이너 클러스터 관리 도구인 “Borg”의 아이디어를 바탕으로 만들어진 오픈소스 소프트웨어입니다.

구글은 쿠버네티스의 원천이 되는 Borg를 수년 동안 개발하고 운영하면서 축적된 경험을 바탕으로 쿠버네티스를 오픈소스 프로젝트로 만들었습니다.

쿠버네티스는 2014년 6월에 시작하여 2015년 7월에 버전 1.0을 발표하였고, 현재에는 구글, 아마존, 애저 등 주요 클라우드 벤더와 IBM, Oracle과 같은 소프트웨어 벤더들이 각자의 브랜드로 쿠버네티스(Kubernetes) 배포판을 제공하고 있습니다.

쿠버네티스(Kubernetes) 소개자료 다운로드


차세대 애플리케이션 스택 – 쿠버네티스(Kubernetes)

  • 쿠버네티스 (IT Automation & Configuration Management)
  • 쿠버네티스는 누구에게 필요한 도구일까요?
  • Google Trends – Kubernetes vs. OpenStack vs. OpenShift
  • 쿠버네티스에 대하여
  • Google은 모든 것이 컨테이너에서 운영

불변의 인프라스트럭처(Immutable Infrastructure) 소개자료 다운로드


컨테이너 기술은 변경이 불가능한 Immutable Infrastructure(불변의 인프라스트럭처)가 가장 중요한 개념입니다.

우리는, Microsoft Windows나, Apple MacOS를 사용하면서 보안, 안정성 그리고 성능 등의 이유로 OS(운영체제)를 자주 업데이트 합니다.

OS는 시간이 지남에 따라 내용이나 설정이 수시로 변화가 발생하며, 새로운 애플리케이션을 설치할 때는 레지스트리도 변경합니다.

소프트웨어가 업데이트나 설정 변경 등을 반복하면서, 최신 상태로 유지하는 것처럼 서버용 소프트웨어도 유사한 방법으로 관리하였습니다.

이렇게 서버가 시간이 지남에 따라 상태가 변해가고 이로 인해 문제가 발생하는 것을 컨피그레이션 드리프트(Configuration Drift)라고 합니다.

쿠버네티스(Kubernetes)를 도입해야하는 이유 – 기획자, 운영자, 개발자 측면


쿠버네티스(Kubernetes)를 도입해야 하는 이유 – 기획자/운영자/개발자 측면

클라우드의 중심이 인프라에서 플랫폼으로 이동하면서, 컨테이너 기반의 아키텍처가 주목받고 있는데, 이 가운데에서도 쿠버네티스(Kubernetes)가 대세로 자리 잡았습니다.

IT 기획자, 개발자 그리고 운영자 측면에서 쿠버네티스(Kubernetes)가 주는 장점을 살펴보겠습니다.

쿠버네티스(Kubernetes) 개념 뽀개기와 데모 그리고 무료체험! 지금 바로 신청하세요


쿠버네티스(Kubernetes) 개념 뽀개기와 데모 그리고 무료체험! 지금 바로 신청하세요

클라우드 관련 기술 말은 많지만, 구름처럼 이해하기 쉽지 않습니다. 클라우드 기술들을 알고는 싶지만 쉽게 접근하기 어렵습니다.

클라우드 네이티브 세미나는 말로만 하지 않고, 직접 보고 체험할 수 있는 비대면 형식의 세미나입니다. 다음과 같은 내용들이 궁금하시다면 지금 바로 세미나를 신청해주세요.

  • 도커(Docker), 컨테이너(Container), 쿠버네티스(Kubernetes), PaaS는 도대체 무엇인가요?
  • MSA 말로만 들었지, 어떻게 하면 되나요?
  • 우리 회사 애플리케이션을 컨테이너(Container)에 어떻게 하면 되나요?
  • 클라우드 궁금한건 많은데, 어디 편하게 물어볼 수 없을까요?
  • 준비만 하다가, 계획만 세우다, 교육만 받다가, 끝나는….. PoC도 해보고 싶은데….
  • 클라우드 네이티브? 이떤 또 뭐야?
  • 하이브리드 클라우드 어떻게 하면 좋을까? 디지털 트랜스포메이션은?

하이브리드(Hybrid) / 다중 클라우드(Multi Cloud) 전략을 위한 클라우드 표준


Hybrid / Multi Cloud 전략을 위한 클라우드 표준

클라우드 네이티브 컴퓨팅 재단(CNCF : Cloud Native Compution Foundation)에는 개발자, 최종 사용자, 주요 클라우드 업체들이 참여하고 있으며, 현재는 클라우드 네이티브 컴퓨팅 재단 (CNCF : Cloud Native Compution Foundation)이 주체가 되어 중립적인 입장에서 개발이 진행되고 있습니다.

선도적인 클라우드 업체들이 쿠버네티스(Kubernetes)를 지원함으로써, 사실상의 표준이 되었습니다.

  • 2017년 02월 – Microsoft Azure에서 Azure Container Service(AKS) 출시
  • 2014년 11월 – Google Cloud Platform (GCP)에서 Google Container Engine (이후 GKE(Google Kubernetes Engine)) 제공
  • 2017년 11월 – Amazon Web Service(AWS)에서 Amazon Elastic Container Service for Kubernetes(Amazon EKS) 출시
Kubernetes 발전 과정

Kubernets(쿠버네티스) 발전 과정


구글은 Linux 컨테이너 기술이 시작될 때부터 기여하였으며, 구글의 서비스들이 컨테이너에서 어떻게 작동하는지 대중에 공개하였습니다.

구글은 “Borg”라는 컨테이너 기술을 통해 일주일에 20억 이상의 컨테이너를 생성하여 운영하였습니다.

구글은 “Borg”를 쿠버네티스(Kubernetes)라는 이름의 오픈소스 프로젝트로 공개하였으며, 15년간 컨테이너로 프로덕션 워크로드를 운영한 경험을 토대로 개발한 것입니다.

Container(컨테이너)와 Kubernets(쿠버네티스) 비교


Docker(도커)를 이용하여 호스트에 컨테이너(Container)를 시작할 수 있지만 프로덕션에서 사용하려고 하면, 다음과 같은 것을 생각해야 합니다.

여러대의 컨테이너(Container)를 관리하고 자동화 할 수 없다면, 컨테이너(Container) 기반의 시스템 운영은 현실적일 수 없습니다.

Container(컨테이너)와 Kubernets(쿠버네티스) 비교
  • 여러대의 호스트 관리
  • 컨테이너 스케쥴링
  • 롤링 업데이트
  • 스케일링/오토 스케일링(Auto Scale In/Out)
  • 컨테이너 라이프사이클 모니터링
  • 장애시 자가 치유
  • 서비스 검색
  • 로드 밸런싱
  • 클러스터 데이터 관리
  • 워크로드 관리
  • IAC(Infrastructure as Code)
  • 컨테이너 관련 에코 시스템과의 연계 및 확장

Kubernets(쿠버네티스) 장점은?


  • 신속한 개발 및 배포 자동화

    • 애플리케이션과 서비스를 손쉽게 배포, 업데이트, 관리할 수 있어 신속한 애플리케이션 개발과 반복 작업이 가능합니다.
    • 애플리케이션을 포함한 컨테이너가 필요한 컴퓨팅, 메모리, 저장소 리소스를 간단히 지정하면 자동으로 기본 클라우드 리소스를 할당하고 관리합니다.
  • 고가용성과 자가 치유

    • 컨테이너 복제, 모니터링, 자동화된 복구 기능을 사용하여, 서비스 가용성과 안정성을 제공합니다.
    • 클러스터와 클러스터의 컴퓨팅, 네트워킹, 저장소 리소스를 모니터링 할 수 있습니다.
  • 효율적인 자원 활용

    • Scheduler에 의해 리소스 관리를 함으로, 개발자는 애플리케이션에 집중.
  • 손쉬운 확장성 보장

    • Auto Scale In/Out을 사용하여 순간적인 사용자 확산(Bursting)에 효율적인 서비스를 제공할 수 있습니다.
  • 다양한 배포 방식 지원

    • 애플리케이션 배포와 모니터링을 할 수 있는 다양한 오픈소스와 3rd Party 제품들이 제공되어 시스템 상황에 맞게 선택할 수 있습니다.

Kubernets(쿠버네티스)가 필요한 이유는 무엇일까요?


실제 프로덕션 애플리케이션은 여러 컨테이너에 걸쳐 있으며 이러한 컨테이너는 여러 서버 호스트에 배포되어야 합니다.

컨테이너를 위한 보안은 멀티레이어 구조이며 복잡할 수 있습니다. 바로 여기에 쿠버네티스가 사용됩니다. 쿠버네티스는 이러한 워크로드를 위해 규모에 맞는 컨테이너를 배포하는데 필요한 오케스트레이션 및 관리 기능을 제공합니다.

쿠버네티스 오케스트레이션을 사용하면 여러 컨테이너에 걸쳐 애플리케이션 서비스를 구축하고 클러스터 전체에서 컨테이너의 일정을 계획하고 이러한 컨테이너를 확장하여 컨테이너의 상태를 지속적으로 관리할 수 있습니다. 쿠버네티스를 활용하면, IT 보안을 강화할 수 있습니다.

쿠버네티스는 종합적인 컨테이너 인프라를 제공할 수 있도록 네트워킹, 스토리지, 보안, 텔레메트리, 기타 서비스와 통합해야 합니다.

쿠버네티스(Kubernetes) 개요

물론 이는 실제 환경에서 컨테이너를 사용하는 방식에 따라 달라집니다. Linux 컨테이너를 사용하는 가장 기본적인 방식은 컨테이너를 효율적이고 빠른 가상 머신으로 다루는 것입니다. 이를 프로덕션 환경과 여러 애플리케이션으로 확장하고 나면 개별 서비스를 제공하기 위해 같은 위치에 배치된 여러 개의 컨테이너를 함께 사용해야 한다는 것을 분명히 알 수 있습니다. 따라서 환경에서 컨테이너 수가 크게 증가하며 컨테이너가 누적됨에 따라 복잡성도 증가합니다.

쿠버네티스는 컨테이너를 “포드(pod)”로 분류하여 컨테이너 급증과 관련된 여러 가지 문제를 해결합니다. 포드는 그룹화된 컨테이너에 추상화 계층을 추가하므로 사용자가 워크로드를 예약하고 네트워킹 및 저장소와 같은 필수 서비스를 컨테이너에 제공할 수 있습니다. 쿠버네티스의 또 다른 부분을 사용해 이러한 포드 전체에서 부하를 분산하고 적합한 수의 컨테이너를 실행하여 워크로드를 지원할 수 있습니다.

쿠버네티스를 올바르게 구현하고 Atomic Registry, Open vSwitch, heapster, OAuth, SELinux와 같은 다른 오픈소스 프로젝트를 이용해 컨테이너 인프라의 모든 부분을 오케스트레이션할 수 있습니다.

– Red Hat Kubernetes(쿠버네티스) : 개념, 성능, 장점 중에서

source : https://www.redhat.com/ko/topics/containers/what-is-kubernetes

Kubernets(쿠버네티스) 영업문의


Kubernetes(쿠버네티스) 구축 견적문의

견적문의 바로가기

Kubernets(쿠버네티스)를 어떻게 활용할 수 있을까요?


  • 여러 호스트에 걸쳐 컨테이너를 오케스트레이션합니다.
  • 하드웨어를 최대한 활용하여 엔터프라이즈 애플리케이션을 실행하는 데 필요한 리소스 사용을 극대화합니다.
  • 애플리케이션 배포 및 업데이트를 제어하고 자동화합니다.
  • 스토리지를 연결하여 스테이트풀(stateful) 애플리케이션을 실행합니다.
  • 컨테이너화된 애플리케이션과 해당 리소스를 즉시 확장합니다.
  • 선언적으로(Declaratively) 서비스를 관리함으로써, 배포한 애플리케이션이 항상 배포 목적대로 실행되도록 합니다.
  • 자동 배치, 자동 재시작, 자동 복제, 자동 확장을 사용해 애플리케이션 상태 확인과 자가 치유를 수행합니다.

Kubernets(쿠버네티스)의 역사


연도 구분 내용
2023년 쿠버네티스 1.27 출시 성능 및 안정성 개선과 함께, 다양한 새로운 기능이 추가된 버전 발표
2022년 쿠버네티스 1.24 출시 Docker가 기본 컨테이너 런타임으로 더 이상 사용되지 않는 버전 발표
2021년 쿠버네티스 1.22 출시 56개의 새로운 기능을 포함한 대규모 업데이트
2020년 쿠버네티스 1.18 출시 API 안정성 및 확장성을 개선한 업데이트
2019년 쿠버네티스 1.14 출시 Windows 컨테이너의 정식 지원이 포함된 버전 발표
2018년 쿠버네티스 1.10 출시 보안, 네트워킹 및 스토리지 기능이 개선된 버전 발표
2017년 쿠버네티스 1.6 출시 대규모 확장성을 지원하는 1.6 버전 출시 (5,000개 이상의 노드 지원)
2016년 쿠버네티스 1.2 출시 확장성과 성능을 개선한 주요 업데이트 포함된 1.2 버전 출시
2015년 쿠버네티스 1.0 출시 첫 정식 버전인 1.0이 발표되고 클라우드 네이티브 컴퓨팅 재단 (CNCF: Cloud Native Computing Foundation) 설립
2014년 쿠버네티스 오픈소스화 Google이 쿠버네티스를 오픈소스로 공개하고, GitHub에 프로젝트를 호스팅
2014년 쿠버네티스 프로젝트 시작 Borg와 Omega의 경험을 바탕으로, Google이 쿠버네티스 프로젝트를 시작
2013년 Omega 개발 Google이 Borg의 한계를 극복하기 위해, 더 유연한 설계의 Omega 시스템 개발
2004년 Borg 초기 운영 Google 내부에서 Borg를 통해 애플리케이션 배포와 관리를 자동화하기 시작
2003년 Borg 개발 시작 Google이 내부적으로 대규모 분산 시스템을 관리하기 위해 Borg라는 컨테이너 관리 시스템을 개발하기 시작

중소기업부터 대기업, 공공기관까지
OPENMARU Cloud APM과 함께하고 있습니다.

클라우드 네이티브와
하이브리드 환경에 최적화된

OPENMARU Cloud APM

클라우드 와 오픈소스 에 최적화된 모니터링 서비스 - OPENMARU APM