> 운영 및 유지보수 > Docker > 컨테이너 오케스트레이션에 Docker Swarm을 어떻게 사용합니까?

컨테이너 오케스트레이션에 Docker Swarm을 어떻게 사용합니까?

James Robert Taylor
풀어 주다: 2025-03-17 16:17:34
원래의
512명이 탐색했습니다.

컨테이너 오케스트레이션에 Docker Swarm을 어떻게 사용합니까?

Docker Swarm은 Docker 컨테이너를위한 기본 클러스터링 및 스케줄링 도구로 Docker 호스트 풀을 단일 가상 Docker 호스트로 바꾸는 도구입니다. 컨테이너 오케스트레이션에 Docker Swarm을 사용하려면 다음과 같은 일반 단계를 따르십시오.

  1. Swarm 초기화 : Manager 노드가 되고자하는 기계에서 <code>docker swarm init</code> 명령을 실행하십시오. 이 명령은 다른 노드가 떼에 가입하는 데 사용할 수있는 토큰을 제공합니다.
  2. 노드에 가입하여 <code>docker swarm init</code> 명령이 제공 한 토큰을 사용하여 Swarm에 다른 노드를 관리자 또는 작업자 노드로 추가하십시오. 예를 들어, 노드를 작업자로 결합하려면 작업자 노드에서 docker swarm join --token <token> <manager-ip>:<port></port></manager-ip></token> 실행합니다.
  3. 서비스 배포 : Swarm이 설정되면 docker service create 사용하여 서비스를 배포 할 수 있습니다. 예를 들어, <code>docker service create --name myservice --replicas 3 nginx</code> Nginx 컨테이너의 세 가지 인스턴스를 시작합니다.
  4. 서비스 관리 및 스케일 서비스 : docker service scale 으로 서비스를 업 또는 다운 할 수 있습니다. 예를 들어, <code>docker service scale myservice=5</code> myservice 서비스를 5 개의 인스턴스로 확장합니다.
  5. Swarm 모니터링 및 관리 : Docker-Compose 파일에 정의 된 다중 서비스 응용 프로그램을 배포하고 docker node 명령을 배포하여 Swarm에서 노드를 관리하는 데 docker stack deploy 사용하십시오.
  6. Swarm Mode Networking 사용 : Docker Swarm은 오버레이 네트워크를 사용하여 컨테이너가 떼를 가로 질러 통신 할 수 있도록합니다. docker network create -d overlay my-network 만들 수 있습니다.

이 단계를 수행하면 Docker Swarm을 효과적으로 사용하여 컨테이너를 조정하여 필요에 따라 배치, 관리 및 조정을 할 수 있습니다.

Docker Swarm 클러스터를 설정하는 단계는 무엇입니까?

Docker Swarm 클러스터를 설정하려면 관리자 노드를 초기화하고 클러스터에 작업자 노드를 추가해야합니다. 자세한 단계는 다음과 같습니다.

  1. Docker 설치 : Docker가 Swarm의 일부가 될 모든 기계에 설치되어 있는지 확인하십시오. 공식 Docker 웹 사이트에서 설치 지침을 팔로우 할 수 있습니다.
  2. Swarm 초기화 : Manager 노드로 사용하려는 컴퓨터에서 실행하십시오.

     <code>docker swarm init</code>
    로그인 후 복사

    이 명령은 떼를 초기화하고 작업자 노드에 대한 조인 토큰을 제공합니다.

  3. 작업자 노드에 가입하십시오 : 각 작업자 노드에서 관리자 노드에서 <code>docker swarm init</code> 제공 한 명령을 실행하십시오. 명령은 다음과 같습니다.

     <code>docker swarm join --token SWMTKN-1-3pu6hszjas19xyp7ghgosyx9k8atbfcr8p2is99znpy26u2lkl-1awxwuwd3z9j1z3puu7rcgdbx 192.168.99.100:2377</code>
    로그인 후 복사
  4. Swarm 확인 : 관리자 노드에서 다시 Swarm의 상태를 확인할 수 있습니다.

     <code>docker node ls</code>
    로그인 후 복사

    이것은 떼에있는 모든 노드를 나열하여 자신의 상태와 관리자인지 근로자인지를 보여줍니다.

  5. 오버레이 네트워크 만들기 : 선택적으로 서비스를 통신 할 오버레이 네트워크를 만듭니다.

     <code>docker network create -d overlay my-overlay-network</code>
    로그인 후 복사

이 단계를 수행하면 기본 Docker Swarm 클러스터가 설정되어 서비스를 배포 할 준비가됩니다.

Docker Swarm에서 서비스를 관리하고 확장하려면 어떻게해야합니까?

Docker Swarm의 서비스 관리 및 스케일링은 간단하며 몇 가지 명령으로 수행 할 수 있습니다. 주요 작업은 다음과 같습니다.

  1. 서비스 작성 : 새 서비스를 만들려면 docker service create 명령을 사용하십시오. 예를 들어:

     <code>docker service create --name myservice --replicas 3 nginx</code>
    로그인 후 복사

    이 명령은 nginx 컨테이너의 3 개의 복제품으로 myservice 라는 서비스를 만듭니다.

  2. 서비스 스케일 : 서비스를 위 또는 아래로 확장하려면 docker service scale 명령을 사용하십시오. 예를 들어, myservice 5 개의 복제본으로 확장하려면 :

     <code>docker service scale myservice=5</code>
    로그인 후 복사
  3. 서비스 업데이트 : 실행중인 서비스 구성을 업데이트하려면 docker service update 명령을 사용하십시오. 예를 들어, myservice 의 이미지를 최신 버전의 Nginx로 변경합니다.

     <code>docker service update --image nginx:latest myservice</code>
    로그인 후 복사
  4. 롤백 서비스 : 업데이트 후 서비스를 이전 상태로 롤백 해야하는 경우 docker service rollback 명령을 사용하십시오.

     <code>docker service rollback myservice</code>
    로그인 후 복사
  5. 서비스 목록 : Swarm의 모든 서비스를 보려면 사용하십시오.

     <code>docker service ls</code>
    로그인 후 복사
  6. 서비스 검사 : 서비스에 대한 자세한 정보를 얻으려면 사용하십시오.

     <code>docker service inspect myservice</code>
    로그인 후 복사

이러한 명령을 사용하면 Docker Swarm 클러스터 내에서 서비스를 효과적으로 관리하고 확장하여 응용 프로그램의 요구를 충족시킬 수 있습니다.

Docker Swarm 배포를 확보하기위한 모범 사례는 무엇입니까?

Docker Swarm 배포 확보는 응용 프로그램 및 데이터를 보호하는 데 중요합니다. 다음은 다음과 같은 모범 사례입니다.

  1. Swarm 통신에 TLS를 사용하십시오 . Swarm 노드 간의 모든 통신이 TLS를 사용하여 암호화되도록하십시오. 이것은 다음과 함께 떼 초기화 중에 설정할 수 있습니다.

     <code>docker swarm init --advertise-addr <manager-ip> --listen-addr <manager-ip>:2377 --tlsverify --tlscacert=ca.pem --tlscert=server-cert.pem --tlskey=server-key.pem</manager-ip></manager-ip></code>
    로그인 후 복사
  2. 결합 토큰을 회전시킵니다 : 합의되지 않은 노드가 떼가 결합하는 것을 방지하기 위해 조인 토큰을 정기적으로 회전시킵니다. 다음 명령을 사용하십시오.

     <code>docker swarm join-token --rotate worker docker swarm join-token --rotate manager</code>
    로그인 후 복사
  3. 역할 기반 액세스 제어 (RBAC) 구현 : Docker의 내장 RBAC를 사용하여 떼에서 어떤 행동을 수행 할 수 있는지를 제어하십시오. Docker의 인증 플러그인을 통해 구성 할 수 있습니다.
  4. 도커 데몬을 고정하십시오 : Docker 데몬 자체가 고정되어 있는지 확인하십시오. 여기에는 적절한 인증 및 승인을 설정하고 데몬의 기능을 제한하는 것이 포함됩니다.
  5. 민감한 데이터에 비밀을 사용하십시오 : Docker 비밀을 사용하여 비밀번호 및 API 키와 같은 민감한 데이터를 관리하십시오. 비밀은 휴식과 운송 중에 암호화되며 액세스는 엄격하게 제어 될 수 있습니다.

     <code>echo "my_secret_password" | docker secret create my_secret -</code>
    로그인 후 복사
  6. Docker 및 이미지를 정기적으로 업데이트하십시오 . Docker 엔진과 알려진 취약점으로부터 보호하기 위해 최신 이미지를 유지하십시오. docker system prune 사용하여 사용되지 않은 이미지와 컨테이너를 정리하십시오.
  7. 네트워크 보안 : 암호화 된 트래픽이있는 오버레이 네트워크를 사용하고 서비스를 다른 네트워크로 분리하여 보안을 향상시킵니다. 방화벽을 구성하여 떼 노드에 대한 액세스를 제한하십시오.
  8. 모니터링 및 로깅 : 보안 사고를 신속하게 감지하고 응답하기 위해 포괄적 인 모니터링 및 로깅을 구현합니다. 모니터링 및 로깅을 위해 Prometheus 및 Elk Stack과 같은 도구를 사용하십시오.
  9. 취약성 스캔 : Docker Hub의 내장 스캔 또는 Clair와 같은 타사 솔루션과 같은 도구를 사용하여 Docker 이미지를 정기적으로 스캔하십시오.

이러한 모범 사례를 따르면 Docker Swarm 배포의 보안을 크게 향상시켜 응용 프로그램과 데이터를 잠재적 인 위협으로부터 보호 할 수 있습니다.

위 내용은 컨테이너 오케스트레이션에 Docker Swarm을 어떻게 사용합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿