Docker에서 클러스터는 Docker를 실행하는 여러 시스템의 그룹이며 함께 작동하는 서비스 엔터티 그룹입니다. 클러스터는 단일 서비스 엔터티보다 더 확장 가능하고 사용 가능한 서비스 플랫폼을 제공하는 데 사용됩니다. 클러스터에 가입한 후에도 계속해서 자체 docker 명령을 실행할 수 있지만 이제 이러한 머신은 클러스터 관리자에 의해 클러스터에서 실행됩니다. 클러스터 관리자는 다양한 정책을 사용하여 실행 중인 컨테이너를 관리할 수 있습니다.
이 튜토리얼의 운영 환경: linux7.3 시스템, docker 버전 19.03, Dell G3 컴퓨터.
클러스터는 도커를 실행하고 그룹에 가입된 여러 머신의 그룹입니다.
클러스터에 가입한 후에도 계속해서 고유한 docker 명령을 실행할 수 있지만 이제 이러한 머신은 클러스터 관리자에 의해 클러스터에서 실행됩니다. 클러스터의 머신은 물리적이거나 가상일 수 있습니다. 그룹에 가입한 후 각 머신을 노드라고 합니다.
클러스터 관리자는 다양한 전략을 사용하여 실행 중인 컨테이너를 관리할 수 있습니다. 예를 들어, 가장 활용도가 낮은 컨테이너를 채우는 데 가장 빈 노드 명령이 사용되며, 전역은 각 시스템이 지정된 컨테이너의 인스턴스 하나만 가져올 수 있도록 보장합니다. 이러한 정책을 파일에 작성하여 클러스터 관리자의 정책을 시행할 수 있습니다.
클러스터 관리자는 명령을 실행할 수 있는 클러스터의 유일한 시스템입니다. 또한 다른 시스템이 클러스터 관리 작업에 참여하도록 승인할 수도 있습니다.
클러스터는 단일 서비스 엔터티보다 확장성과 가용성이 뛰어난 서비스 플랫폼을 제공하기 위해 함께 작동하는 서비스 엔터티(서버로 이해될 수 있음) 그룹입니다. 클라이언트의 관점에서 클러스터는 서비스 엔터티처럼 보이지만 실제로 클러스터는 서비스 엔터티 집합으로 구성됩니다.
지식 확장
Docker 클러스터 서비스에서는 다음 개념을 이해해야 합니다.
Swarm
Swarm은 Docker 엔진을 실행하는 여러 호스트의 클러스터입니다.
v1.12부터 클러스터 관리 및 오케스트레이션 기능이 Docker 엔진에 통합되었습니다. Docker 엔진은 Swarm을 초기화하거나 기존 Swarm에 가입할 때 Swarm 모드를 시작합니다.
Swarm 모드가 시작되지 않으면 Docker는 Swarm 모드를 실행한 후 컨테이너 명령을 실행하고 Docker는 서비스를 조정하는 기능을 추가합니다. Docker를 사용하면 동일한 Docker 호스트에서 Swarm Service와 별도의 컨테이너를 모두 실행할 수 있습니다.
node
Swarm의 각 Docker 엔진은 노드이며, 관리자와 작업자라는 두 가지 유형의 노드가 있습니다.
Swarm에 애플리케이션을 배포하려면 관리자 노드에서 배포 명령을 실행해야 합니다. 관리자 노드는 배포 작업을 분해하고 이를 하나 이상의 작업자 노드에 할당하여 배포를 완료합니다.
매니저 노드는 오케스트레이션 및 클러스터 관리 작업을 수행하고 Swarm을 원하는 상태로 유지하는 역할을 담당합니다. Swarm에 여러 관리자 노드가 있는 경우 자동으로 협상하고 오케스트레이션 작업을 수행할 리더를 선택합니다.
woker 노드는 매니저 노드가 파견한 작업을 수락하고 실행합니다. 기본 구성에서는 매니저 노드도 워커 노드이지만, 오케스트레이션과 클러스터 관리를 담당하는 매니저 전용 노드로 구성할 수도 있습니다.
작업 노드는 정기적으로 자신의 상태와 실행 중인 작업의 상태를 관리자 노드에 보고하므로 관리자가 전체 클러스터의 상태를 유지할 수 있습니다.
service
service는 작업자 노드에서 수행할 작업을 정의합니다. Swarm의 주요 오케스트레이션 작업은 서비스가 원하는 상태인지 확인하는 것입니다.
서비스 예를 들어보세요. swarm에서 nginx 서비스를 시작하고 nginx:latest 이미지를 사용하며 복사본 수는 3입니다.
이 서비스 생성을 담당하는 것은 매니저 노드이며, 분석 결과 3개의 nginx 컨테이너를 시작해야 하는 것으로 알려져 있습니다. 컨테이너를 실행하는 작업은 각 작업자 노드의 현재 상태에 따라 할당됩니다. 작업자1에서 실행되고 하나의 컨테이너가 작업자2에서 실행됩니다.
한 동안 실행한 후 작업자2가 갑자기 다운되었습니다. 관리자는 이 오류를 모니터링하고 즉시 작업자3에서 새 nginx 컨테이너를 시작했습니다. 이렇게 하면 서비스가 원하는 세 가지 복제본 상태가 됩니다.
간단히 말하면 Swarm은 클러스터를 노드 형태로 구성하는 동시에 각 노드에 하나 이상의 서비스(서비스)를 배포할 수 있으며 각 서비스에는 하나 이상의 컨테이너(컨테이너)가 포함될 수 있습니다.
추천 학습: "docker 비디오 튜토리얼"
위 내용은 도커 클러스터는 무엇을 의미하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!