[docker] Kubernetes는 실제로 무엇을합니까? [닫은]

Kubernetes 는 컨테이너 클러스터 “스케줄러 / 오케 스트레이터”로 청구되지만 이것이 무엇을 의미하는지 잘 모르겠습니다. Kubernetes 사이트와 (모호한) GitHub 위키를 읽은 후에는 Docker 컨테이너를 실행할 수있는 VM이 ​​무엇인지 파악한 다음 배포합니다. 그러나 그것은 단지 내 추측 일 뿐이며,이를 뒷받침하는 문서에서 구체적인 언어를 보지 못했습니다.

그래서는 Kubernetes은 무엇 정확하게 , 일부 무엇 특정의 그것을 해결하는 것이 문제가?



답변

Kubernetes의 목적은 여러 대의 컴퓨터에서 응용 프로그램을보다 쉽게 ​​구성하고 예약 할 수 있도록하는 것입니다. 높은 수준에서는 클러스터의 운영 체제입니다.

기본적으로 각 응용 프로그램이 실행되는 데이터 센터의 특정 시스템에 대해 걱정할 필요가 없습니다. 또한이 시스템에서 애플리케이션을 상태 점검 및 복제 할 수있는 일반 기본 요소와 애플리케이션을 마이크로 서비스에 연결하는 서비스를 제공하므로 애플리케이션의 각 계층이 다른 계층과 분리되어 확장 / 업데이트 / 유지 보수 할 수 있습니다 독립적으로.

응용 프로그램 계층에서 이러한 많은 작업을 수행하는 것이 가능하지만 이러한 솔루션은 일회성이며 취성 경향이 있지만 오케스트레이션 시스템이 응용 프로그램을 실행하는 방법에 대해 걱정하는 걱정을 분리하는 것이 훨씬 좋습니다. 응용 프로그램을 구성하는 코드


답변

Github 페이지 에서 읽을 때 :

Kubernetes는 여러 호스트에서 컨테이너화 된 응용 프로그램을 관리하기위한 오픈 소스 시스템으로 응용 프로그램의 배포, 유지 관리 및 확장을위한 기본 메커니즘을 제공합니다.

쿠 버네 티스는 :

lean: lightweight, simple, accessible
portable: public, private, hybrid, multi cloud
extensible: modular, pluggable, hookable, composable
self-healing: auto-placement, auto-restart, auto-replication

Kubernetes는 Google에서 프로덕션 워크로드를 대규모로 실행하는 데있어 10 년 반의 경험을 바탕으로 커뮤니티의 최고 아이디어와 사례를 결합했습니다.

나를 위해 Kubernetes는 Google의 컨테이너 오케스트레이션 도구입니다. 디자인으로 인해 모든 컨테이너 엔진과의 호환성을 구현할 수 있지만 이제는 Docker로 제한됩니다. 아키텍처에는 몇 가지 중요한 개념이 있습니다.

Kubernetes는 다음 개념으로 작동합니다.

클러스터는 컨테이너가 구축되는 컴퓨팅 리소스입니다. Kubernetes는 어디서나 실행할 수 있습니다! 다양한 서비스에 대한 지침은 시작 안내서를 참조하십시오.

포드는 공유 볼륨을 가진 함께 배치 된 Docker 컨테이너 그룹입니다. Kubernetes를 사용하여 생성, 예약 및 관리 할 수있는 가장 작은 배포 가능 단위입니다. 포드는 개별적으로 생성 할 수 있지만 단일 포드를 생성하더라도 복제 컨트롤러를 사용하는 것이 좋습니다. 포드에 대해 자세히 알아보십시오.

복제 컨트롤러는 포드의 수명주기를 관리합니다. 필요에 따라 포드를 만들거나 종료하여 지정된 수의 포드를 언제든지 실행할 수 있습니다. 복제 컨트롤러에 대한 자세한 내용

서비스는 일련의 포드에 대해 안정적인 단일 이름과 주소를 제공합니다. 기본로드 밸런서 역할을합니다. 서비스에 대한 추가 정보.

레이블은 키 : 값 쌍을 기반으로 개체 그룹을 구성하고 선택하는 데 사용됩니다. 라벨에 대한 추가 정보.

따라서 컨테이너가 실행되는 클러스터를 형성하는 시스템 그룹이 있습니다. 또한 fig와 같은 다른 도구를 사용하는 것과 유사한 방식으로 서비스를 제공하는 컨테이너 그룹을 정의 할 수도 있습니다 (예 : webapp pod는 rails 서버 및 postgres 데이터베이스 일 수 있음). 또한 동시에 실행되는 서비스의 많은 컨테이너 / 포드, 키-값 저장소, 내장 된로드 밸런서 등을 보장하는 다른 도구가 있습니다.

coreos에 대해 알고 있다면 Google과 매우 유사한 솔루션입니다. Algo Kubernetes는 Google Cloud Engine과 잘 통합되어 있습니다.


답변

Kubernetes는 서비스 API와 같은 인프라와 거의 동일한 기능을 제공하지만 가상 머신이 아닌 동적으로 예약 된 컨테이너와 서비스 형 플랫폼으로서 플랫폼을 목표로하지만 다음과 같은 유연성을 제공합니다.

  • 스토리지 시스템 장착,
  • 비밀 배포,
  • 응용 프로그램 상태 확인,
  • 응용 프로그램 인스턴스 복제
  • 수평 자동 스케일링
  • 명명과 발견,
  • 로드 밸런싱,
  • 지속적 업데이트
  • 자원 모니터링
  • 로그 액세스 및 처리
  • 검사 및 디버깅 지원
  • 신원 및 승인.

서비스 검색, 비밀 분배,로드 밸런싱, 모니터링 등에 이미 다른 메커니즘을 사용하는 경우 계속 사용할 수 있지만,이를 제공하여 기존 IaaS 및 PaaS 시스템에서 Kubernetes로 쉽게 전환하는 것을 목표로합니다. 기능.

https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/#why-do-i-need-kubernetes-and-what-can-it-do


답변