쿠버네티스는 실제로 무엇을 합니까?
Kubernetes는 컨테이너 클러스터 "스케줄러/오케스트라"로 청구되지만, 저는 이것이 무엇을 의미하는지 모르겠습니다.Kubernetes 사이트와 GitHub Wiki를 읽고 나면 Docker 컨테이너를 실행할 수 있는 VM이 무엇인지 파악한 다음 이를 구축하는 것이 가장 좋습니다.하지만 그것은 제 추측일 뿐이고, 저는 그들의 문서에서 그것을 뒷받침할 구체적인 표현을 보지 못했습니다.
그렇다면 쿠버네티스는 정확히 무엇이며, 그것이 해결하는 구체적인 문제는 무엇일까요?
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의 컨테이너 오케스트레이션 도구입니다.디자인상 어떤 컨테이너 엔진과도 호환이 가능하지만, 지금은 도커로 한정되어 있다고 생각합니다.아키텍처에는 다음과 같은 중요한 개념이 있습니다.
쿠베르네테스는 다음과 같은 개념으로 작동합니다.
클러스터는 컨테이너가 구축되는 컴퓨팅 리소스입니다.쿠베르네테스는 어디든 달릴 수 있습니다!다양한 서비스에 대한 지침은 시작 설명서를 참조하십시오.
포드는 공유 볼륨이 있는 도커 컨테이너의 코로케이션 그룹입니다.Kubernetes를 사용하여 생성, 예약 및 관리할 수 있는 배포 가능한 최소 단위입니다.포드는 개별적으로 만들 수 있지만 단일 포드를 만들더라도 복제 컨트롤러를 사용하는 것이 좋습니다.포드에 대해 자세히 알아봅니다.
복제 컨트롤러는 포드의 수명 주기를 관리합니다.필요에 따라 포드를 만들거나 제거하여 지정된 수의 포드가 항상 실행되도록 합니다.복제 컨트롤러에 대해 자세히 알아봅니다.
서비스는 포드 집합에 대해 안정적인 단일 이름과 주소를 제공합니다.기본 로드 밸런싱 장치 역할을 합니다.서비스에 대한 자세한 내용.
레이블은 키:값 쌍을 기준으로 개체 그룹을 구성하고 선택하는 데 사용됩니다.레이블에 대한 자세한 정보.
따라서 컨테이너가 실행되는 클러스터를 형성하는 기계 그룹이 있습니다.또한 그림과 같은 다른 도구를 사용하는 것과 유사한 방식으로 서비스를 제공하는 컨테이너 그룹을 정의할 수 있습니다(예: 웹 앱 포드는 레일 서버 및 포스트그레스 데이터베이스일 수 있음).또한 여러 개의 서비스 컨테이너/포드가 동시에 실행되도록 보장하는 툴, 키 값 저장소, 일종의 기본 로드 밸런서 등이 있습니다.
만약 여러분이 코레오스에 대해 아는 것이 있다면, 그것은 구글이 제공한 것과 매우 유사한 해결책입니다.Algo Kubernetes는 Google Cloud Engine과 잘 통합되어 있습니다.
Kubernetes는 Infrastructure as a Service API와 대부분 동일한 기능을 제공하지만 가상 머신이 아닌 동적으로 예약된 컨테이너와 Platform as a Service 시스템을 목표로 하지만 다음과 같은 유연성을 제공합니다.
- 스토리지 시스템 마운트,
- 비밀을 퍼뜨리는 것,
- 응용 프로그램 상태 검사,
- 응용 프로그램 인스턴스 복제,
- 수평 자동 감지,
- 이름 지정 및 검색,
- 로드 밸런싱,
- 롤링 업데이트,
- 리소스 모니터링,
- 로그 액세스 및 수집
- 내부 검사 및 디버깅 지원
- 신원과 허가.
서비스 검색, 비밀 배포, 로드 밸런싱, 모니터링 등에 이미 다른 메커니즘을 사용하고 있다면 당연히 계속 사용할 수 있지만, 이 기능을 제공하여 기존 IaaS 및 PaaS 시스템에서 Kubernetes로 쉽게 전환할 수 있도록 하는 것을 목표로 합니다.
언급URL : https://stackoverflow.com/questions/28086732/what-does-kubernetes-actually-do
'programing' 카테고리의 다른 글
시리즈 및 데이터 프레임 병합 방법 (0) | 2023.08.06 |
---|---|
인덱싱된 뷰에 MAX() 애그리게이트를 사용할 수 없는 이유는 무엇입니까? (0) | 2023.08.06 |
nodejs에 대한 좋은 메시지 대기열 옵션은 무엇입니까? (0) | 2023.08.06 |
파이썬에서 가져온 모듈의 main()을 호출할 수 있습니까? (0) | 2023.08.06 |
마크다운 텍스트와 재구성된 텍스트 모두에서 동일한 README 사용 (0) | 2023.08.06 |