>운영 및 유지보수 >리눅스 운영 및 유지 관리 >Docker를 사용하여 다중 노드 클러스터를 관리하고 확장하는 방법

Docker를 사용하여 다중 노드 클러스터를 관리하고 확장하는 방법

WBOY
WBOY원래의
2023-11-07 10:06:581279검색

Docker를 사용하여 다중 노드 클러스터를 관리하고 확장하는 방법

오늘날의 클라우드 컴퓨팅 시대에 컨테이너화 기술은 오픈 소스 세계에서 가장 인기 있는 기술 중 하나가 되었습니다. Docker의 등장으로 클라우드 컴퓨팅은 더욱 편리하고 효율적이게 되었으며, 개발자와 운영 및 유지 관리 담당자에게 없어서는 안 될 도구가 되었습니다. 다중 노드 클러스터 기술의 적용은 Docker 기반으로 널리 사용됩니다. 다중 노드 클러스터 배포를 통해 리소스를 보다 효율적으로 활용하고, 안정성과 확장성을 향상시키며, 배포 및 관리에 있어 보다 유연해질 수 있습니다. 다음으로 Docker를 사용하여 다중 노드 클러스터를 관리하고 확장하는 방법을 소개합니다.

1단계: 다중 노드 클러스터 환경 구축
다중 노드 클러스터를 관리하고 확장하려면 먼저 다중 노드를 구축해야 합니다. 이 기사에서는 다중 노드 클러스터를 보다 편리하게 관리하는 데 도움이 되는 Docker Swarm 기술을 사용합니다.

1) Docker와 Docker Compose를 여러 컴퓨터에 설치하고 서로 통신할 수 있는지 확인하세요.

2) 머신 중 하나를 "관리 노드"로 선택하고 다음 명령을 실행합니다.

docker swarm init --advertise-addr <管理节点IP>

실행 후 토큰이 반환됩니다. 이 토큰은 이 Swarm에 다른 노드를 추가하는 데 사용됩니다. 동시에 이 명령을 실행하면 로컬 머신이 Swarm의 관리 노드가 됩니다.

3) Swarm에 다른 머신을 추가하세요. 다른 머신에서 다음 명령을 실행하세요.

docker swarm join --token <token> <管理节点IP>:2377

이제 Swarm에 다른 머신이 추가됩니다. 다음 명령을 사용하여 Swarm에서 노드를 볼 수 있습니다.

docker node ls

2단계: 서비스 구축 및 용량 확장
다중 노드 클러스터 환경을 설정한 후 서비스 구축을 시작할 수 있습니다. 서비스는 Swarm에서 실행되는 컨테이너 인스턴스 그룹을 의미하며 호스트, 네트워크 및 스토리지 리소스를 공유하며 수평 확장 방식으로 자동 확장될 수 있습니다. 여기서는 간단한 웹 애플리케이션을 예로 들어 서비스 구축 및 확장 방법을 소개합니다.

1) Dockerfile을 작성합니다. 먼저 Dockerfile 파일을 작성하고 애플리케이션의 기본 이미지와 실행 명령 등을 지정해야 합니다.

FROM node:latest
WORKDIR /app
COPY . /app
RUN npm install
CMD ["npm", "start"]

그 중에서 우리는 node:latest를 기본 이미지로 선택하고 애플리케이션 파일을 /app 디렉터리에 추가한 다음 종속 항목을 설치하고 프로그램을 시작했습니다.

2) docker-compose.yml을 작성합니다. docker-compose는 다중 컨테이너 Docker 애플리케이션을 정의하고 실행하기 위한 도구입니다. 여기서는 docker-compose를 사용하여 web이라는 서비스를 정의할 수 있습니다.

version: '3'
services:
  web:
    build: .
    ports:
      - "8080:8080"
    environment:
      - NODE_ENV=production
    deploy:
      replicas: 5
      resources:
        limits:
          cpus: "0.1"
          memory: 50M
      restart_policy:
        condition: on-failure

이 docker-compose 파일은 애플리케이션 빌드 방법, 포트 매핑, 환경 변수, 복제본 수, 리소스 제한 등을 지정합니다. 3단계에서는 docker stack 배포 명령을 사용하여 서비스를 빌드하고 실행합니다.

3) 서비스 구축 및 확장. 위의 두 단계를 완료한 후 서비스 구축 및 확장을 시작할 수 있습니다. 다음 명령을 실행하십시오:

docker-compose build
docker stack deploy --compose-file docker-compose.yml web

이 명령은 서비스를 Swarm에 배포하고 5개의 인스턴스를 지정합니다. 브라우저에서 http://:8080을 방문하면 웹 애플리케이션을 볼 수 있습니다.

3단계: 서비스 관리 및 확장
서비스를 성공적으로 구축하고 배포한 후에는 서비스를 관리하고 확장해야 합니다. Swarm의 서비스 관리 및 확장은 매우 간단합니다. 몇 가지 명령만 실행하면 됩니다.

1) 서비스 상태를 확인하세요. 다음 명령을 사용하여 서비스 상태를 볼 수 있습니다.

docker service ls
docker service ps web

이 명령은 실행 중인 모든 서비스와 서비스 인스턴스를 표시합니다. 이 시점에서 5개의 웹 서비스 인스턴스가 실행되는 것을 볼 수 있습니다.

2) 용량 확장 서비스입니다. 다음 명령을 사용하여 서비스 인스턴스 수를 확장할 수 있습니다.

docker service scale web=8

이 명령은 웹 서비스 인스턴스 수를 8개로 늘립니다.

3) 업데이트 서비스. 서비스를 업데이트하려면 이전 docker-compose.yml 파일을 수정하고 docker stack 배포 명령을 다시 실행해야 합니다. 수정이 완료되면 다음 명령을 실행하여 서비스를 업데이트합니다.

docker stack deploy --compose-file docker-compose.yml web

요약
다중 노드 클러스터 기술은 Docker에서 사용하는 매우 실용적인 기술로, 애플리케이션을 보다 편리하게 관리하고 확장할 수 있도록 도와줍니다. 이 기사에서는 Docker Swarm을 사용하여 다중 노드 클러스터 환경을 구축하는 방법을 소개하고 웹 애플리케이션을 예로 사용하여 서비스를 구축, 배포, 관리 및 확장하는 방법을 보여줍니다. 이 기사의 소개를 통해 모든 사람이 Docker Swarm 다중 노드 클러스터 기술에 대해 더 깊은 이해를 갖게 되었다고 믿습니다.

위 내용은 Docker를 사용하여 다중 노드 클러스터를 관리하고 확장하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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