원래 Google에서 설계하고 현재 Cloud Native Computing Foundation에서 유지 관리하는 Kubernetes(K8s라고도 함)는 소프트웨어 배포 자동화를 위한 오픈 소스 컨테이너 조정 시스템입니다.
Kubernetes는 컨테이너화된 워크로드 및 서비스를 관리하는 데 매우 널리 사용되는 플랫폼입니다. Kubernetes 서비스, 지원 및 도구는 널리 사용 가능합니다. 가상화된 호스트 운영 체제 또는 커널인 컨테이너 그룹으로 애플리케이션을 구성하여 작동합니다. 컨테이너는 동일한 시스템의 다른 컨테이너에서 애플리케이션의 종속성을 격리합니다. 이 접근 방식은 리소스 활용도를 높이고 비용을 절감합니다.
자주 묻는 질문
쿠버네티스란? Kubernetes는 하드웨어 가상화보다 운영 체제 가상화에 의존하는 시스템입니다.
Kubernetes는 무엇에 사용됩니까? Linux 애플리케이션을 독립적으로 배포 및 관리할 수 있는 마이크로서비스라고 하는 더 작고 독립적인 조각으로 나누는 데 사용됩니다.
Kubernetes의 이점은 무엇입니까? Kubernetes 컨테이너는 가상 머신보다 빌드하기 쉽습니다. Kubernetes 컨테이너는 자체 포함되고 독립적이므로 이식 가능하고 확장 가능합니다. 중단 없이 더 적은 비용으로 공용, 사설 또는 하이브리드 클라우드에 앱을 배포할 수 있습니다.
Kubernetes의 포드는 무엇입니까 ? 파드는 쿠버네티스에서 생성하거나 관리할 수 있는 컴퓨팅 조각의 가장 작은 배포 가능한 단위입니다.
Docker와 Kubernetes의 차이점은 무엇입니까? 핵심 차이점은 Docker는 단일 노드에서 실행되고 Kubernetes는 클러스터에서 실행된다는 것입니다.
Kubernetes는 소프트웨어 배포에서 많은 운영 작업을 자동화하고 사용자가 퍼블릭 클라우드, 프라이빗 클라우드 및 하이브리드 환경의 물리적 또는 가상 머신 클러스터에서 컨테이너를 예약하고 실행할 수 있도록 합니다. 확장성, 이식성, 민첩성 및 자동화 기능을 감안할 때 Kubernetes는 리소스 활용도를 높이고 비용을 절감하는 컨테이너 관리에 이상적인 시스템입니다. 지속적인 지원을 보장하는 크고 성장하는 생태계를 갖춘 안정적이고 신뢰할 수 있는 시스템입니다. 대규모 마이크로 서비스 환경이 없는 조직에 유용하고 매우 유리합니다.
Kubernetes는 다음 서비스를 제공합니다.
- 컴퓨팅 스케줄링: 자동화된 리소스 결정 및 컨테이너별 할당
- 자가 치유: 컨테이너가 오작동하면 그 자리에 다른 컨테이너가 자동으로 생성됩니다.
- 수평적 확장: Kubernetes는 CPU 및 기타 리소스 메트릭의 출력에 따라 인스턴스를 추가하거나 제거합니다.
- 볼륨 관리: 애플리케이션 사용에 따라 영구 스토리지 관리
- 서비스 검색/로드 밸런싱: 여러 인스턴스, DNS 및 IP 주소가 로드 밸런싱됨
- 자동화된 롤아웃 및 롤백: 새 인스턴스가 실패하면 이전 버전으로의 롤백이 자동으로 발생합니다.
- 비밀 및 구성 관리: 일반적으로 암호, API 키, 디지털 인증서 및 기타 보안 요소와 같은 응용 프로그램 비밀과 응용 프로그램 구성이 자동으로 관리됩니다.
Kubernetes의 이점
Kubernetes는 주로 DevOps 생산성을 개선하고 기존 컨테이너화된 애플리케이션의 변경 사항을 관리하며 하드웨어 리소스를 최적화하는 데 사용됩니다. Kubernetes는 퍼블릭 클라우드, 프라이빗 클라우드 및 하이브리드 환경에 앱을 배포할 수 있습니다. 이러한 기능과 기타 기능으로 인해 Kubernetes는 소프트웨어 정의 인프라의 핵심 요소이기도 합니다.
Kubernetes 사용의 요점은 작은 마이크로서비스에서 전체 애플리케이션에 이르기까지 모든 것을 실행할 수 있는 운영 체제 가상화의 한 형태인 컨테이너의 이점을 최대한 활용하는 것입니다. 컨테이너는 가상 머신보다 구축하기 쉽고 저렴합니다.
각 컨테이너는 자체 포함되며 구성 파일을 포함하여 필요한 모든 실행 파일, 바이너리 코드, 라이브러리 및 파일을 포함합니다. 따라서 각 컨테이너는 동일한 시스템의 다른 컨테이너와 독립적이며 이식성이 높고 확장 가능합니다.
Kubernetes는 컨테이너를 관리하여 효율성과 제어를 더욱 향상시킵니다.
관리형 Kubernetes와 호스팅된 Kubernetes
Kubernetes는 여러 면에서 소프트웨어 배포를 단순화하지만 사용이 간단하지 않습니다. 그렇기 때문에 일부 사용자는 Amazon Elastic Kubernetes Service(EKS) 및 Google Kubernetes Engine(GKE)과 같은 공급자 관리 Kubernetes 서비스를 사용하여 Kubernetes 서비스 및 마스터 노드를 관리할 수 있습니다. 그러나 사용 편의성은 제어 및 옵션의 절충과 함께 제공됩니다. 따라서 일부 사용자는 호스팅 서비스에서 Kubernetes를 자체 관리하는 것을 선호할 수 있습니다. kubeadm, kubespray를 통해 또는 수동으로 클러스터를 배포할 수 있습니다. 이러한 각 경우에 클러스터, 마스터 노드 및 기타 모든 관련 관리 구성 요소에 대한 전체 액세스 권한이 있습니다.
'Tech' 카테고리의 다른 글
AWS Athena 소개 (0) | 2022.05.25 |
---|---|
클라우드 인프라 정의 (0) | 2022.05.25 |
openSource MongoDB - CRUD 연산 (0) | 2022.05.25 |
New NoSQL & mongoDB - Replica & ReplicaSets (0) | 2022.05.25 |
openSource MongoDB - Introduction (0) | 2022.05.25 |
댓글