>  기사  >  운영 및 유지보수  >  도커 스웜이 뭐야?

도커 스웜이 뭐야?

青灯夜游
青灯夜游원래의
2022-01-28 13:47:094658검색

swarm은 Docker에서 공식적으로 제공하는 클러스터 관리 도구입니다. 주요 기능은 여러 Docker 호스트를 전체로 추상화하고 이러한 Docker 호스트의 다양한 Docker 리소스를 하나의 입구를 통해 균일하게 관리하는 것입니다.

도커 스웜이 뭐야?

이 튜토리얼의 운영 환경: linux5.9.8 시스템, docker-1.13.1 버전, Dell G3 컴퓨터.

Swarm은 Docker 클러스터를 관리하기 위해 Docker가 출시한 플랫폼입니다. 거의 전적으로 GO 언어를 사용하여 개발되었습니다. 코드는 https://github.com/docker/swarm에 공개되어 있습니다. 단일 가상 호스트로서 Swarm은 표준 Docker API 인터페이스를 프런트 엔드 액세스 입구로 사용합니다. 즉, 다양한 형태의 DockerClient(compose, docker-py 등)가 Swarm과 직접 통신할 수 있으며 Docker 자체도 가능합니다. 쉽게 Swarm과 통합되어 사용자가 원래 단일 노드 기반 시스템을 Swarm에 쉽게 이식할 수 있습니다. 동시에 Swarm에는 Docker 네트워크 플러그인에 대한 지원이 내장되어 있으며 사용자는 크로스 호스트 컨테이너 클러스터를 쉽게 배포할 수 있습니다. 서비스.

Swarm은 Kubernetes와 유사하지만 kubernetes보다 가볍고 기능이 적습니다.

Docker Swarm은 엔터프라이즈 수준 Docker 보안 클러스터와 마이크로서비스 애플리케이션 오케스트레이션 엔진이라는 두 가지 측면으로 구성됩니다.

클러스터링 측면에서 Swarm은 사용자가 클러스터에서 관리할 수 있도록 하나 이상의 Docker 노드를 구성합니다.

Swarm에는 암호화된 분산 클러스터 저장소, 암호화된 네트워크, 공용 TLS(상호 TLS), 보안 클러스터 액세스 토큰(Secure Cluster Join Token) 및 기본적으로 관리형 PKI(공개 키 인프라)로 단순화된 디지털 인증서 세트가 내장되어 있습니다. 노드를 자유롭게 추가하거나 삭제할 수 있습니다.

오케스트레이션 측면에서 Swarm은 복잡한 마이크로서비스 애플리케이션을 쉽게 배포하고 관리할 수 있는 풍부한 API 세트를 제공합니다. 선언적 구성 파일에서 애플리케이션을 정의하면 기본 Docker 명령을 사용하여 배포할 수 있습니다.

또한 롤링 업그레이드, 롤백, 확장 및 축소 작업도 수행할 수 있으며, 이는 간단한 명령으로도 완료할 수 있습니다.

과거에는 Docker Swarm이 Docker 엔진을 기반으로 하는 독립 제품이었습니다. Docker 버전 1.12부터 Docker 엔진에 완전히 통합되었으며 단일 명령을 실행하여 활성화할 수 있습니다. 2018년에는 기본 Swarm 애플리케이션 외에도 Kubernetes 애플리케이션을 배포하고 관리할 수 있게 될 것입니다.

Docker Swarm에 대한 사전 소개

클러스터 관점에서 Swarm은 하나 이상의 Docker 노드로 구성됩니다. 이러한 노드는 물리적 서버, 가상 머신, Raspberry Pi 또는 클라우드 인스턴스일 수 있습니다. 유일한 전제 조건은 모든 노드가 안정적인 네트워크를 통해 연결된다는 것입니다.

노드는 관리 노드(Manager) 또는 작업자 노드(Worker)로 구성됩니다. 관리 노드는 클러스터 제어 플레인(Control Plane)을 담당하여 클러스터 상태 모니터링, 작업 노드에 작업 배포 등의 작업을 수행합니다. 작업자 노드는 관리 노드로부터 작업을 받아 실행합니다.

Swarm의 구성 및 상태 정보는 모든 관리 노드에 위치한 분산 etcd 데이터베이스에 저장됩니다. 데이터베이스는 메모리에서 실행되며 데이터를 최신 상태로 유지합니다. 이 데이터베이스의 가장 좋은 점은 구성이 거의 필요하지 않고 Swarm의 일부로 설치되며 관리가 필요하지 않다는 것입니다.

클러스터 관리와 관련하여 가장 큰 과제는 보안을 보장하는 것입니다. Swarm 클러스터를 설정할 때 Swarm과 긴밀하게 통합되어 있으므로 필연적으로 TLS를 사용하게 됩니다.

보안에 대한 인식이 높아지는 오늘날의 시대에 이와 같은 도구는 적극적으로 장려될 가치가 있습니다. Swarm은 통신 암호화, 노드 인증 및 역할 권한 부여에 TLS를 사용합니다. 자동 키 순환은 금상첨화입니다! 백그라운드에서 자동으로 작동하며 사용자는 이 기능의 존재조차 인식하지 못합니다.

애플리케이션 오케스트레이션과 관련하여 Swarm에서 가장 작은 일정 단위는 서비스입니다. 이는 Swarm과 함께 도입되었으며 API의 새로운 개체 요소이며 컨테이너를 기반으로 하는 일부 고급 기능을 캡슐화하며 더 높은 수준의 개념입니다. 컨테이너가 서비스에 캡슐화되면 이를 작업 또는 복사본이라고 부릅니다. 확장 및 축소, 롤링 업그레이드, 단순 롤백과 같은 기능이 서비스에 추가됩니다.

결론적으로 아래 그림과 같이 Swarm을 일반적인 관점에서 살펴보자.

도커 스웜이 뭐야?

추천 학습: "docker 비디오 튜토리얼"

위 내용은 도커 스웜이 뭐야?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.