모범 사례 및 튜토리얼

포트웍스 및 카우치베이스를 사용하는 스테이트풀 컨테이너

Portworx Logo Couchbase Logo

컨테이너는 임시적인 용도로 사용되므로 상태 비저장 애플리케이션에 적합하게 확장할 수 있습니다. Couchbase와 같은 상태 저장 컨테이너는 다르게 취급해야 합니다. Docker 컨테이너의 지속성 관리 는 스테이트풀 컨테이너의 지속성을 관리하는 방법에 대한 훌륭한 개요를 제공합니다.

이 블로그에서는 사용 방법을 설명합니다. 도커 볼륨 플러그인 그리고 Portworx 를 사용하여 스테이트풀 컨테이너를 생성합니다.

왜 포트웍스인가?

Portworx 는 지속성, 복제, 스냅샷, 암호화, 보안 RBAC 등을 제공하는 배포하기 쉬운 컨테이너 데이터 서비스입니다. 몇 가지 이점은 다음과 같습니다:

  1. 컨테이너 세분화된 볼륨 - 포트웍스는 호스트당 여러 개의 EBS 볼륨을 가져와서 용량을 집계하고 컨테이너당 세분화된 가상(소프트) 볼륨을 도출할 수 있습니다.
  2. 교차 가용성 영역 HA - 포트웍스는 가용성 영역의 여러 컴퓨팅 인스턴스에서 블록 수준에서 데이터를 보호합니다. 복제 컨트롤러가 다른 노드에서 포드를 재시작해도 해당 노드에서 데이터는 여전히 고가용성을 유지합니다.
  3. 엔터프라이즈 데이터 운영 지원 - 포트웍스는 컨테이너 세분화된 스냅샷, 서비스 클래스, 사용 가능한 물리적 볼륨을 기반으로 한 계층화를 구현합니다.
  4. 배포 및 프로비저닝의 용이성 - Portworx 자체는 컨테이너로 배포되며 오케스트레이션 도구와 통합됩니다. DevOps는 크기, 서비스 클래스, 암호화 키 등과 같은 모든 속성을 사용하여 컨테이너 세분화된 스토리지를 프로그래밍 방식으로 프로비저닝할 수 있습니다.

AWS EC2 인스턴스 설정

Portworx는 Linux 또는 CoreOS에서만 실행됩니다. AWS EC2에서 Ubuntu 인스턴스를 설정합니다:

  1. 다음을 사용하여 우분투 14.04 인스턴스를 시작합니다. m3.medium 인스턴스 유형. 인바운드 보안 규칙에 포트 8091을 추가해야 합니다. 이렇게 하면 다음을 허용합니다. 카우치베이스 웹 콘솔 나중에 액세스할 수 있도록 설정합니다.
  2. 명령을 사용하여 EC2 인스턴스에 로그인합니다: ssh -i ~/.ssh/arun-cb-west1.pem ubuntu@
  3. Ubuntu 인스턴스를 업데이트합니다: sudo apt-get 업데이트
  4. Docker를 설치합니다: curl -sSL https://get.docker.com/ | sh. 자세한 지침은 다음에서 확인할 수 있습니다. 우분투용 Docker 다운로드.
  5. 도커 명령에 대해 비루트 액세스를 사용하도록 설정합니다: sudo 사용자모드 -aG 도커 우분투
  6. EC2 인스턴스에서 로그아웃하고 다시 로그인하기

AWS EBS 볼륨 생성

  1. 에 설명된 대로 EC2 콘솔을 사용하여 10GB의 EBS 볼륨을 생성합니다. 문서.
  2. EC2 콘솔에서 인스턴스 ID를 가져옵니다. 이 인스턴스 ID를 사용하여 이 볼륨을 EC2 인스턴스에 연결하고 기본 장치 이름을 사용합니다. /dev/sdf.
    Portworx EC2 Create Volume
  3. 사용 lsblk 명령을 실행하여 볼륨이 인스턴스에 연결되어 있는지 확인합니다:

포트웍스 컨테이너

  1. 각 노드의 물리적 스토리지 구성, 클러스터의 모든 프로비저닝된 볼륨 및 해당 컨테이너 매핑은 etcd 클러스터에 저장됩니다. etcd 클러스터를 시작합니다:
  2. 기본적으로 루트 마운트 볼륨은 공유가 허용되지 않습니다. 다음 명령을 사용하여 이 기능을 사용하도록 설정합니다:

    이에 대한 자세한 설명은 우분투 구성 및 공유 마운트.
  3. 도커 엔진이 설치된 서버의 PX-Developer(px-dev) 컨테이너는 해당 서버를 스케일아웃 스토리지 노드로 전환합니다. 반면 PX-Enterprise는 멀티 클러스터 및 멀티 클라우드를 지원하며, 관리 대상 스토리지는 온프레미스 또는 AWS와 같은 퍼블릭 클라우드에 있을 수 있습니다.
    이 블로그에서는 px-dev 컨테이너를 시작하겠습니다:

    이 명령에 대한 자세한 내용은 다음에서 확인할 수 있습니다. Docker로 PX 실행.
  4. 다음을 사용하여 로그를 찾습니다. 도커 컨테이너 로그 -f px 를 클릭하고 다음 문구를 주의하세요:
  5. 다음을 사용하여 포트웍스에서 사용할 수 있는 연결된 볼륨의 상태를 확인합니다. sudo /opt/pwx/bin/pxctl 상태 를 클릭하여 출력을 확인합니다:

    사용 가능한 총 용량과 사용량을 보여줍니다.

도커 볼륨

  1. Docker 볼륨을 만들어 보겠습니다:

    이 명령에 대한 자세한 내용은 Docker로 볼륨 생성.
  2. 다음을 사용하여 사용 가능한 볼륨 목록을 확인하세요. 도커 볼륨 ls 명령을 사용합니다:

    그림과 같이, cbvol 는 다음과 같이 생성됩니다. pxd 드라이버.

포트웍스 볼륨이 포함된 카우치베이스

  1. 포트웍스 볼륨을 사용하여 카우치베이스 컨테이너를 생성합니다:

    어떻게 /opt/couchbase/var 컨테이너에 저장된 모든 카우치베이스 데이터가 매핑됩니다. cbvol 볼륨에 매핑됩니다. 이 볼륨은 Portworx에 의해 매핑됩니다.
  2. https://:8091에서 Couchbase 웹 콘솔에 로그인하고 로그인 관리자 그리고 비밀번호 를 비밀번호로 입력합니다.
  3. 데이터 버킷으로 이동하여 새 데이터 버킷 pwx를 만듭니다:
    Couchbase Bucket with Portworx
  4. EC2 인스턴스의 경우 컨테이너 목록을 참조하세요:

    etcd, px-dev 그리고 db 컨테이너가 실행 중입니다.
  5. 죽이기 db 컨테이너:
  6. 다른 이름으로 데이터베이스 컨테이너를 다시 시작합니다:

    이제 cbvol 에 매핑됩니다. /opt/couchbase/var 다시 시작해도 데이터가 보존됩니다. 이는 Couchbase 웹 콘솔에 액세스하여 확인할 수 있습니다. pwx 버킷을 생성합니다.

또 다른 흥미로운 관점은 데이터베이스가 컨테이너에 적합하지 않은 이유는 무엇인가요?. 도커가 있다고 해서 모든 데이터베이스 요구 사항을 도커화해야 한다는 의미는 아닙니다. 하지만 필요한 경우 다양한 옵션이 있으며 프로덕션급 애플리케이션에서 사용할 수 있습니다.

컨테이너에서 Couchbase를 실행하는 방법에 대해 자세히 알아보고 싶으신가요?

이 문서 공유하기
받은 편지함에서 카우치베이스 블로그 업데이트 받기
이 필드는 필수 입력 사항입니다.

Author

Posted by 아룬 굽타

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

댓글 하나

댓글 남기기

카우치베이스 카펠라를 시작할 준비가 되셨나요?

구축 시작

개발자 포털에서 NoSQL을 살펴보고, 리소스를 찾아보고, 튜토리얼을 시작하세요.

카펠라 무료 사용

클릭 몇 번으로 Couchbase를 직접 체험해 보세요. Capella DBaaS는 가장 쉽고 빠르게 시작할 수 있는 방법입니다.

연락하기

카우치베이스 제품에 대해 자세히 알고 싶으신가요? 저희가 도와드리겠습니다.