집 >운영 및 유지보수 >리눅스 운영 및 유지 관리 >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 중국어 웹사이트의 기타 관련 기사를 참조하세요!