Docker Swarm 네이티브 클러스터를 구성하는 방법
안녕하세요. 오늘 Swarm 에 대해 알아보겠습니다. Swarm 을 통해 Docker 기본 클러스터를 만드는 방법을 배웁니다. Docker Swarm 은 Docker 호스트 풀을 별도의 가상 호스트로 변환하는 Docker 의 기본 클러스터 프로젝트입니다. Swarm 은 표준 Docker API 에서 작동하므로 Docker 데몬과 통신할 수 있는 모든 도구는 Swarm 을 사용하여 여러 호스트로 투명하게 확장할 수 있습니다. 다른 Docker 프로젝트와 마찬가지로 Swarm 은 "내장 배터리, 탈착식" 원칙을 따릅니다 (LCTT: 배터리가 포함되어 있습니다. 내장 배터리는 원래 Python 서클에서 Python 에 대한 포상이었습니다. 외부 요구 사항 없이 자급자족하고 풍부한 환경을 의미합니다. 그러나 제거 가능하며 탈착은 강제적이지 않은 결합을 의미해야 합니다.) 간단한 백엔드 스케줄러와 함께 초기 개발 키트로 다양한 백엔드를 플러그할 수 있는 API 를 개발했습니다. 목표는 몇 가지 간단한 사용 사례를 위한 원활하고 즉시 사용 가능한 사용 환경을 제공하고 대규모 프로덕션 환경 배포를 위한 Mesos 와 같은 보다 강력한 백엔드로 전환할 수 있도록 하는 것입니다. Swarm 구성 및 사용은 매우 간단합니다.
다음은 Swarm 0.2 의 몇 가지 즉시 사용 가능한 기능입니다.
Swarm 0.2.0 은 약 85% 의 Docker 엔진과 호환됩니다.
자원 관리를 지원합니다.
제한 및 유사한 기능을 갖춘 고급 스케줄링 기능이 있습니다.
여러 개의 검색 백엔드 (hubs, consul, etcd, zookeeper) 를 지원합니다.
보안 통신 및 인증에 TLS 암호화 방법을 사용합니다.
이제 Swarm 을 사용하는 몇 가지 간단한 단계를 살펴보겠습니다.
1. Swarm 을 실행하기 위한 사전 요구 사항
모든 노드에 Docker 1.4.0 이상을 설치해야 합니다. 각 노드의 IP 주소가 공용 주소일 필요는 없지만 그룹 관리자는 네트워크를 통해 각 노드에 액세스할 수 있어야 합니다.
참고: Swarm 은 아직 테스트 단계에 있으므로 기능 및 기능이 변경될 수 있습니다. 프로덕션 환경에서는 사용하지 않는 것이 좋습니다.
2. 그룹 클러스터 만들기
이제 다음 명령을 실행하여 Swarm 클러스터를 만듭니다. 각 노드는 관련 Docker 데몬을 등록 및 모니터링하고 검색 백엔드에서 얻은 노드 상태를 업데이트하는 클러스터 노드 에이전트를 실행합니다. 다음 명령은 노드에서 Swarm 에이전트를 시작할 때 사용되는 고유한 클러스터 ID 태그를 반환합니다.
클러스터 관리자에서 다음을 실행합니다.
# docker 커뮤니티 생성 실행
커뮤니티 클러스터 생성
3. 각 노드에서 Docker 데몬을 시작합니다.
클러스터를 만드는 데 사용할 각 노드에 로그인하고 -H 플래그를 사용하여 Docker 데몬을 시작해야 합니다. 이를 통해 그룹 관리자가 TCP 를 통해 각 노드의 Docker 원격 API 에 액세스할 수 있습니다. Docker 데몬을 시작하려면 각 노드에서 다음 명령을 실행해야 합니다.
# docker -H tcp://0.0.0.0:2375 -d
Docker 데몬을 시작하는 중
4. 노드를 추가합니다
Docker 데몬을 활성화한 후에는 검색 서비스에 클러스터 노드를 추가해야 하며 클러스터 관리자에서 노드 IP 에 액세스할 수 있는지 확인해야 합니다. 이렇게 하려면 각 노드에서 다음 명령을 실행해야 합니다.
# dockerrun-d swarm join-addr = < 노드 _ IP>: 2375 토큰://< Cluster _ id>
클러스터에 노드 추가
참고: 교체가 필요합니다
5. 그룹 관리자를 엽니다.
이제 노드를 클러스터에 연결했으므로 swarm manager 를 시작합니다. 클러스터 관리자에서 다음 명령을 실행해야 합니다.
# dockerrun-d-p < Swarm _ port & gt:2375 그룹 관리 토큰:///& lt;; Cluster _ id>
그룹 관리자를 시작합니다
구성을 검토합니다
관리가 시작되고 실행되면 다음 명령을 실행하여 구성을 확인할 수 있습니다.
# docker-h TCP://< Manager _ IP:manager _ port & gt;; 정보
클러스터에 액세스
참고: 교체가 필요합니다
7. docker CLI 를 사용하여 노드에 액세스합니다.
이 부분은 Docker Swarm 이 위에서 설명한 모든 것이 완벽하게 완료된 후 가장 중요한 부분입니다. Docker CLI 를 사용하여 노드에 액세스하고 컨테이너를 실행할 수 있습니다.
# docker-h TCP://< Manager _ IP:manager _ port & gt;; 정보
# docker-h TCP://< Manager _ IP:manager _ port & gt;; 달리다 ...
8. 클러스터의 노드 모니터링
Swarm list 명령을 사용하여 실행 중인 모든 노드의 목록을 얻을 수 있습니다.
# docker run-RM swarm 목록 토큰:///& lt;; Cluster _ id>
그룹 노드를 나열합니다
악장 끝부
Swarm 은 클러스터를 만들고 관리하는 데 사용할 수 있는 기능적인 docker 입니다. 그것은 쉽게 구성하고 사용할 수 있으며, 우리가 그것에 제한기와 분류기를 사용할 때 더 좋다. 고급 스케줄러는 매우 좋은 기능입니다. 필터를 적용하고, 포트, 레이블 및 상태를 기준으로 노드를 제외시키고, 정책을 사용하여 최적의 노드를 선택할 수 있습니다. 그럼, 질문, 의견, 피드백이 있으시면 아래 댓글 상자에 적어주세요. 그러면 어떤 자료를 보충하거나 보완해야 하는지 알 수 있을 겁니다. (데이비드 아셀, Northern Exposure (미국 TV 드라마), 예술명언) 감사합니다! 즐기세요:-)
Ubuntu 15.04 에 docker/Linux/2015-07/120444.htm 을 설치합니다.
Dockerimage/Linux/2015-07/120061.htm 다운로드된 로컬 미러 서비스를 구성합니다.
Docker 설치 어플리케이션 (centos 6.5 _ x64)/Linux/2014-07/104595.htm
Docker 에서 MySQL/Linux/2014-01/95354.htm 사용
Ubuntu trusty14.04 (lts) (64 비트) 에 docker/Linux/2014-/kloc-0 을 설치합니다
Docker 설치 어플리케이션 (centos 6.5 _ x64)/Linux/2014-07/104595.htm
Ubuntu 14.04 docker/Linux/2014-08/105656.htm 설치
Docker/Linux/2014-1111091