이 블로그 게시물에서는 Docker의 풀 아머인 Docker 머신을 사용하여 Couchbase 클러스터를 생성하고 확장하는 방법을 설명합니다, 도커 스웜 및 도커 컴포즈. 방법은 다음과 같습니다:

  • 도커 머신을 사용하여 3노드 도커 스웜 클러스터 만들기
  • 두 개의 노드에서 Couchbase 인스턴스 실행
  • 클러스터 만들기
  • 클러스터 재조정
  • 클러스터를 다시 확장하고 재조정하기

 couchbase-docker-swarm-0-1024x558

컨설트를 사용하는 도커 스웜 클러스터

도커 머신을 사용하여 3노드 도커 스웜 클러스터를 생성합니다:

도커 머신으로 스웜 클러스터 프로비저닝하기 에서 이 스크립트에서 수행되는 작업과 이유에 대한 자세한 내용을 확인할 수 있습니다. 다음은 요약입니다:

  • Docker 머신을 생성하고 서비스 검색을 위해 Consul을 실행하세요.
  • 마스터 노드용 1개와 워커 노드용 2개로 3개의 Docker 머신을 생성하고, 각 머신은 다음을 사용하여 스웜 클러스터의 일부가 되도록 구성합니다. --스웜. 또한 다음을 사용하여 지정된 컨설턴트 서비스 검색을 사용합니다. --스웜 검색.

도커 스웜의 카우치베이스 노드

Docker Compose를 사용하여 Couchbase 인스턴스 두 개를 생성합니다:

아룽업타/카우치베이스 이미지가 사용됩니다. 이 이미지는 다음에서 정의됩니다. 카우치베이스 도커 이미지. 이는 공식 카우치베이스 도커 이미지 추가
설명대로 구성합니다:

  1. 인덱스 및 데이터용 메모리 설정
  2. 인덱스, 데이터 및 쿼리 서비스로 Couchbase 서버 구성하기
  3. 사용자 이름 및 비밀번호 자격 증명 설정
  4. 로드합니다. 여행 샘플 버킷

파일 용도 작성 호스트 네트워크에 연결합니다. 이는 --net=host 를 도커 실행 CLI에 추가합니다. 컨테이너가 호스트 네트워킹 스택을 사용할 수 있습니다. 또한 단일 Couchbase 컨테이너만 실행하도록 제한합니다.
단일 Docker 머신으로 확장할 수 있습니다. 즉, Couchbase 클러스터는 Docker 머신의 수에 따라 확장할 수 있습니다(저희의 경우 3개). 이 Compose 파일을 사용하는 정확한 명령은 다음과 같습니다:

도커 스웜 클러스터에는 세 개의 노드가 있습니다. 노드는 기본 스케줄러 전략확산 따라서 컨테이너는 다른 호스트에 분산됩니다. 이는 분명합니다.
by 도커 PS:

하나의 Couchbase 서버가 다음에서 실행 중입니다. swarm-node-01 그리고 다른 swarm-node-02. 각 서버는 관리자 사용자 이름으로 구성됩니다. 관리자 및 비밀번호 비밀번호. IP 찾기
도커 머신의 주소입니다:

다음과 같은 경우 jq 설치 를 입력하면 IP 주소를 다음과 같이 편리하게 찾을 수 있습니다:

도커 스웜의 카우치베이스 클러스터

모든 Couchbase 서버 노드는 동일하게 생성됩니다. 따라서 Couchbase 클러스터는 증가하는 애플리케이션 수요를 충족하기 위해 수평적으로 확장할 수 있습니다. 독립적으로 실행되는 Couchbase 노드는 클러스터에 추가할 수 있습니다. 서버 추가 CLI 명령을 실행합니다. 이 과정은 일반적으로 2단계로 진행됩니다. 첫 번째 단계는 하나 이상의 노드를 추가하는 것입니다. 그런 다음 두 번째 단계에서는 기존 노드의 데이터를 업데이트된 클러스터 전체에서 재조정하는 클러스터 재조정 작업을 수행합니다. 우리의 경우, 단일 Couchbase
컨테이너가 각 도커 머신에서 실행 중입니다. Couchbase 노드 중 하나의 IP 주소를 선택하고 다른 노드의 IP 주소를 추가할 수 있습니다:

두 노드에 대한 Couchbase 웹 콘솔은 비슷한 출력을 표시합니다:
couchbase-docker-swarm-1
couchbase-docker-swarm-2
이는 이제 두 노드가 클러스터를 형성하고 있으며 밸런스를 재조정해야 함을 보여줍니다.

카우치베이스 클러스터 재조정

이제 클러스터의 밸런스를 다시 조정해 보겠습니다:

리밸런싱이 진행 중임을 표시하도록 Couchbase 웹 콘솔이 업데이트됩니다:
couchbase-docker-swarm-3
마지막으로 재조정된 클러스터를 볼 수 있습니다:

couchbase-docker-swarm-4

카우치베이스 클러스터 확장 및 재조정

Couchbase 클러스터를 확장합니다:

컨테이너가 다른 Docker 머신에서 실행 중인지 확인하세요:

앞서 언급했듯이 Couchbase 클러스터 확장은 두 단계로 이루어집니다. 일반적으로 여러 서버를 추가한 다음 클러스터의 밸런스를 재조정하기 때문입니다. 하지만 Couchbase 노드 하나만 추가한 다음 재조정하면 되는 경우도 있습니다,
재조정 명령을 사용하여 이를 달성할 수 있습니다. 이 경우에는 다음과 같이 수행됩니다:

이제 재조정된 클러스터의 모습은 다음과 같습니다:
couchbase-docker-swarm-5

이 블로그에서는 도커 스웜, 머신 및 컴포즈를 사용하여 Couchbase 클러스터를 쉽게 생성하고 확장하는 방법을 보여드립니다. 즐겨보세요! 더 읽어보기 ...

작성자

게시자 Arun Gupta, 개발자 지원 부문 부사장, Couchbase

아룬 굽타는 Couchbase의 개발자 지원 담당 부사장입니다. 그는 Sun, Oracle, Red Hat에서 10년 이상 개발자 커뮤니티를 구축하고 이끌었습니다. 그는 콘텐츠, 마케팅 캠페인 및 프로그램의 전략, 계획 및 실행을 개발 및 실행하는 교차 기능 팀을 이끄는 데 있어 깊은 전문성을 보유하고 있습니다. 그 전에는 Sun에서 엔지니어링 팀을 이끌었으며 Java EE 팀의 창립 멤버입니다. Gupta는 기술에 관한 블로그 게시물을 2,000개 이상 작성했습니다. 40여 개국에서 수많은 주제에 대해 광범위한 강연 경험을 가지고 있으며, 3년 연속 JavaOne Rock Star로 선정되었습니다. 또한 미국에서 Devoxx4Kids 지부를 설립하여 어린이를 대상으로 한 기술 교육을 지속적으로 장려하고 있습니다. 기술에 관한 여러 권의 책을 저술했으며, 열렬한 마라토너이자 지구를 횡단하는 사람, Java 챔피언, JUG 리더, NetBeans 드림팀 멤버, Docker 캡틴이기도 한 그는 @arungupta에서 쉽게 만나볼 수 있습니다.

댓글 남기기