>운영 및 유지보수 >Docker >Docker Swarm 클러스터를 어떻게 만드나요?

Docker Swarm 클러스터를 어떻게 만드나요?

Robert Michael Kim
Robert Michael Kim원래의
2025-03-17 16:19:26859검색

Docker Swarm 클러스터를 어떻게 만드나요?

Docker Swarm 클러스터를 작성하려면 Docker 호스트 그룹 (노드)을 단일 가상 Docker 호스트로 설정하는 것이 포함됩니다. 다음은 Docker Swarm 클러스터에 노드를 초기화하고 조인하기위한 단계별 안내서입니다.

  1. 각 노드에 Docker를 설치하십시오 . Swarm에 포함하려는 각 시스템에 Docker가 설치되어 있는지 확인하십시오. 공식 Docker 웹 사이트에서 Docker를 다운로드 할 수 있습니다.
  2. 떼 초기화 : 관리자 노드가 될 머신을 선택하십시오. 이 컴퓨터에서 터미널을 열고 다음 명령을 실행하여 떼를 초기화하십시오.

     <code>docker swarm init --advertise-addr <manager-ip></manager-ip></code>

    <manager-ip></manager-ip> 관리자 노드의 IP 주소로 교체하십시오. 이 명령은 작업자 노드에 가입하는 데 사용하는 토큰을 반환합니다.

  3. 작업자 노드에 가입 : 각 작업자 노드에서 다음 명령을 실행하여 떼에 가입하십시오.

     <code>docker swarm join --token <swarm-token> <manager-ip>:2377</manager-ip></swarm-token></code>

    <swarm-token></swarm-token> docker swarm init Command에서 제공 한 토큰으로, Manager의 IP 주소로 <manager-ip></manager-ip> 교체하십시오.

  4. Swarm 확인 : Manager 노드에서 다시 실행하여 노드가 성공적으로 결합되었는지 확인할 수 있습니다.

     <code>docker node ls</code>

    이 명령은 Swarm에 모든 노드를 나열하여 상태 및 가용성을 보여 주어야합니다.

Docker Swarm 클러스터를 설정하기위한 최소 시스템 요구 사항은 무엇입니까?

Docker Swarm 클러스터 설정을위한 최소 시스템 요구 사항은 주로 Docker Engine의 요구 사항과 배포 할 작업량에 따라 결정됩니다. 일반 지침은 다음과 같습니다.

  • 운영 체제 : Docker Swarm은 Windows Server뿐만 아니라 Ubuntu, Centos 및 Debian과 같은 Linux 배포판을 포함한 다양한 운영 체제를 지원합니다.
  • CPU : 최소한 듀얼 코어 프로세서가 권장됩니다. 더 많은 코어는 성능과 스케일링에 도움이됩니다.
  • 메모리 : Docker 엔진에는 최소 2GB RAM이 제안되지만 4GB 이상이 여러 서비스를 실행하는 데 더 좋습니다.
  • 스토리지 : Docker 이미지 및 컨테이너에는 적절한 디스크 공간이 필요합니다. 최소 10GB가 권장되지만 이미지의 크기 및 데이터 볼륨에 따라 다를 수 있습니다.
  • 네트워크 : 각 노드는 적절한 포트 액세스, 특히 클러스터 관리 통신을위한 TCP 포트 2377, 노드 간 통신을위한 TCP 및 UDP 포트 7946 및 오버레이 네트워크의 경우 UDP 포트 4789와 안정적인 네트워크 연결을 가져야합니다.

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

Docker Swarm 클러스터의 서비스 관리 및 스케일링은 간단하며 Docker CLI 명령을 사용하여 수행 할 수 있습니다. 방법은 다음과 같습니다.

  1. 서비스 배포 : Swarm에서 서비스를 작성하려면 docker service create Command를 사용하십시오.

     <code>docker service create --name myservice --replicas 3 <image></image></code>

    이 명령은 지정된 Docker 이미지를 사용하여 3 개의 복제품으로 myservice 라는 서비스를 배포합니다.

  2. 서비스 스케일 : 서비스를 위 또는 아래로 확장하려면 docker service scale 명령을 사용하십시오.

     <code>docker service scale myservice=5</code>

    이것은 myservice 의 복제본 수를 5로 변경합니다.

  3. 서비스 업데이트 : 이미지 버전 변경과 같은 서비스를 업데이트하려면 사용하십시오.

     <code>docker service update --image <new-image> myservice</new-image></code>
  4. 서비스 모니터 서비스 : 서비스 및 복제본의 상태를 다음과 같이 모니터링 할 수 있습니다.

     <code>docker service ls docker service ps myservice</code>
  5. 서비스 제거 : 서비스를 제거하려면 사용하십시오.

     <code>docker service rm myservice</code>

이 명령을 사용하면 Docker Swarm 클러스터 내에서 서비스를 동적으로 관리하고 확장 할 수 있습니다.

Docker Swarm 클러스터를 확보하기위한 모범 사례는 무엇입니까?

Docker Swarm 클러스터 보안은 응용 프로그램 및 데이터를 보호하는 데 중요합니다. 모범 사례는 다음과 같습니다.

  1. 모든 통신에 TLS를 사용하십시오 . Docker Swarm을 구성하여 노드 간의 모든 통신에 TLS (Transport Layer Security)를 사용하십시오. 떼를 초기화하고 노드를 결합 할 때 --tlsverify 플래그를 사용하십시오.
  2. Swarm 토큰 회전 : 관리되지 않은 액세스를 방지하기 위해 관리자 및 작업자 노드 모두에 대한 조인 토큰을 정기적으로 회전시킵니다.

     <code>docker swarm join-token --rotate worker docker swarm join-token --rotate manager</code>
  3. 역할 기반 액세스 제어 (RBAC) 구현 : Docker의 내장 RBAC를 사용하여 다양한 사용자 및 서비스에 대한 권한을 관리합니다. 특정 역할을 설정하여 사용자에게 적절하게 할당하십시오.
  4. 로깅 활성화 및 구성 : Swarm 클러스터에 대한 중앙 집중식 로깅을 구성하여 의심스러운 활동을 모니터링하고 감지하십시오. Elk Stack (Elasticsearch, Logstash, Kibana) 또는 Docker의 로깅 드라이버와 같은 도구를 사용할 수 있습니다.
  5. 비밀 관리 사용 : Docker의 비밀 관리 기능을 활용하여 암호, TLS 인증서 및 SSH 키와 같은 민감한 정보를 안전하게 저장하고 관리하십시오. docker secret 명령을 사용하여 서비스에서 비밀을 작성, 관리 및 사용하십시오.
  6. 정기적으로 업데이트 및 패치 : Docker Engine 및 기타 소프트웨어를 최신 보안 패치 및 업데이트로 최신 상태로 유지하십시오.
  7. 네트워크 보안 : 네트워크 정책 및 방화벽을 구현하여 떼 노드를 오가는 트래픽을 제어합니다. 오버레이 네트워크 및 서비스 검색을 사용하여 내부 통신을 안전하게 관리하십시오.
  8. 감사 및 모니터링 : 정기적으로 Swarm 클러스터의 구성을 감사하고 이상을 모니터링합니다. Docker의 내장 모니터링 또는 Prometheus 및 Grafana와 같은 타사 솔루션과 같은 도구가이를 지원할 수 있습니다.

이러한 관행을 따르면 Docker Swarm 클러스터의 보안을 크게 향상시킬 수 있습니다.

위 내용은 Docker Swarm 클러스터를 어떻게 만드나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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