쿠버네티스란?

쿠버네티스란?

쿠버네티스란?

쿠버네티스(Kubernetes, k8s)는 컨테이너화된 애플리케이션을 자동으로 배포, 스케일링, 운영할 수 있도록 도와주는 오픈소스 컨테이너 오케스트레이션 플랫폼이다.

📌 왜 쿠버네티스인가?

최근에는 **마이크로서비스 아키텍처(MSA)**가 대두되면서, 하나의 거대한 애플리케이션을 여러 개의 독립적인 마이크로서비스로 분리하는 경우가 많다. 이로 인해 배포 주기가 달라지고, 서비스 간 조율이 필요하며, 복잡성이 증가하게 된다.

이를 해결하기 위해 컨테이너(Container) 기반의 배포 방식이 도입되었고, 컨테이너 관리 및 오케스트레이션을 위해 쿠버네티스가 등장했다.

Kubernetes 개념

🏗️ 쿠버네티스의 주요 개념

1️⃣ Pod

  • 컨테이너의 논리적 그룹으로, 쿠버네티스에서 배포 가능한 최소 단위.
  • 같은 Pod 내 컨테이너는 네트워크와 스토리지를 공유.

2️⃣ ReplicaSet

  • 특정 수의 Pod가 항상 실행되도록 보장하는 역할.
  • 장애 발생 시 새로운 Pod를 자동 생성.

3️⃣ Service

  • 여러 Pod를 하나의 네트워크 엔드포인트로 묶어 외부 또는 내부에서 접근 가능하게 함.
  • 로드 밸런싱 역할 수행.

4️⃣ ConfigMap & Secret

  • 환경 변수, 설정 정보 등을 저장하여 애플리케이션에서 동적으로 사용할 수 있도록 지원.

5️⃣ Deployment

  • 애플리케이션을 배포하고, 롤링 업데이트 및 롤백을 수행하는 핵심 오브젝트.

🚀 쿠버네티스의 장점

  • 자동화된 배포 및 스케일링: 트래픽에 따라 Pod를 동적으로 조정 가능.
  • 자원 효율성: 필요한 만큼의 리소스를 사용하여 운영 비용 절감.
  • 셀프 힐링(Self-healing): 장애 발생 시 자동 복구 및 재시작.
  • 멀티 클라우드 지원: AWS, GCP, Azure 등 다양한 환경에서 실행 가능.

📎 참고 자료

🔚 결론

쿠버네티스는 컨테이너 기반 애플리케이션의 배포 및 운영을 자동화하는 필수 기술이다.
이를 통해 복잡한 마이크로서비스 환경에서도 효율적인 애플리케이션 관리가 가능하다. 🚀

Author

Hamin Lee

Posted on

2022-03-08

Updated on

2022-03-10

Licensed under

You need to set install_url to use ShareThis. Please set it in _config.yml.
You forgot to set the business or currency_code for Paypal. Please set it in _config.yml.

Comments

You forgot to set the shortname for Disqus. Please set it in _config.yml.
You need to set client_id and slot_id to show this AD unit. Please set it in _config.yml.