Kubernetes에 대한 소개 및 이해

날아올라돼지야·2024년 8월 31일
0

1. Kubernetes란?

  • Kubernetes의 정의: Kubernetes는 컨테이너화된 애플리케이션의 배포, 확장 및 관리를 자동화하는 오픈 소스 시스템입니다. 현재 시장에서 가장 유명한 오케스트레이션 플랫폼입니다.
  • 클라우드 중립성: Kubernetes는 특정 클라우드 서비스에 종속되지 않으며, 로컬 시스템, AWS, GCP, Azure 등 어디에서나 동일한 개념으로 사용할 수 있습니다. 이 때문에 클라우드 중립적이라고 할 수 있습니다.

2. Kubernetes의 역사와 배경

  • 구글의 개발 및 오픈 소스화:
    • Kubernetes는 원래 구글에서 개발된 내부 프로젝트로, 15년 이상 구글의 다양한 제품(예: YouTube, Google Photos, Gmail)을 운영하는 데 사용되었습니다.
    • 2015년에 구글은 이 기술을 오픈 소스로 공개하였고, 이를 통해 많은 조직이 Kubernetes를 도입하여 마이크로서비스 배포에 활용하게 되었습니다.

3. Kubernetes의 주요 기능

  • 분산 시스템 관리:
    • Kubernetes는 클라우드 네이티브 애플리케이션이나 마이크로서비스 같은 분산 시스템을 탄력적으로 운영할 수 있도록 돕습니다.
    • 자동 확장 및 장애 조치(failover) 기능을 제공하여 애플리케이션의 가용성을 높입니다.
  • 서비스 디스커버리와 로드 밸런싱:
    • Kubernetes는 Eureka 서버 없이도 서비스 디스커버리와 서버 사이드 로드 밸런싱을 수행할 수 있습니다.
  • 컨테이너 및 스토리지 오케스트레이션:
    • Kubernetes를 통해 여러 컨테이너와 그에 필요한 스토리지를 효과적으로 관리할 수 있습니다.
  • 자동 롤아웃 및 롤백:
    • Kubernetes는 애플리케이션의 새로운 버전을 무중단으로 배포할 수 있으며, 문제가 발생할 경우 자동으로 이전 버전으로 롤백할 수 있습니다.
  • 셀프 힐링:
    • 문제가 발생한 컨테이너를 자동으로 감지하고 교체하여 애플리케이션의 안정성을 유지합니다.
  • 설정 및 비밀 관리:
    • Kubernetes를 통해 마이크로서비스에 필요한 설정 값과 비밀 정보(예: 환경 변수, API 키)를 안전하게 관리할 수 있습니다.

4. Kubernetes의 이름 유래

  • Kubernetes의 의미:

    • "Kubernetes"라는 단어는 그리스어에서 유래했으며, "배의 조타수(helmsman) 또는 조종사(pilot)"를 의미합니다. 이는 Kubernetes가 마치 선장이 배를 조종하듯, 컨테이너를 제어하는 역할을 한다는 점에서 착안되었습니다.
    • Kubernetes의 로고 또한 이러한 의미를 담고 있습니다.
  • K8S의 의미:

    • Kubernetes를 간단히 표현한 약어인 "K8S"는 K와 S 사이에 8개의 문자(character)가 있다는 점에서 유래되었습니다. 이 약어는 블로그나 웹사이트에서 Kubernetes를 간단히 표현할 때 자주 사용됩니다.

정리

  • Kubernetes는 클라우드 중립적인 컨테이너 오케스트레이션 플랫폼으로, 다양한 기능을 통해 마이크로서비스 애플리케이션의 배포, 확장, 관리, 로드 밸런싱, 셀프 힐링 등을 자동화합니다.
  • Kubernetes의 이름은 그리스어에서 유래되었으며, 배의 조타수를 의미합니다. 이는 Kubernetes가 마이크로서비스의 컨테이너를 조종하는 중요한 역할을 한다는 점을 상징적으로 보여줍니다.

이 강의를 통해 Kubernetes의 기본 개념과 주요 기능, 그리고 이름의 유래를 이해하게 되었습니다. Kubernetes는 마이크로서비스를 효과적으로 운영하기 위한 강력한 도구로, 이를 통해 더 나은 애플리케이션 관리를 구현할 수 있습니다.

profile
무슨 생각하며 사니

0개의 댓글

Powered by GraphCDN, the GraphQL CDN