카우치베이스 서버

Kops를 사용한 아마존의 멀티마스터 쿠버네티스 클러스터

스프링 부트와 카우치베이스를 사용하여 Kubernetes 1.4 시작하기 에서 아마존 웹 서비스에서 Kubernetes 1.4를 시작하는 방법을 설명합니다. A
Couchbase 서비스가 클러스터에 생성되고 Spring Boot 애플리케이션이 데이터베이스에 JSON 문서를 저장합니다. 여기에는 kube-up.sh 스크립트를 쿠버네티스 바이너리에서 다운로드하십시오. github.com/kubernetes/kubernetes/releases/download/v1.4.0/kubernetes.tar.gz  를 사용하여 클러스터를 시작합니다. 이 스크립트는 단일 마스터로만 Kubernetes 클러스터를 생성할 수 있습니다. 이는 마스터가 단일 장애 지점이 되는 분산 애플리케이션의 근본적인 결함입니다.

만나기 kops - 쿠버네티스 오퍼레이션의 줄임말입니다.

이것은 가용성이 높은 Kubernetes 클러스터를 시작하고 실행하는 가장 쉬운 방법입니다. 쿠버네티스의 kubectl 스크립트는 실행 중인 클러스터에 대해 명령을 실행하기 위한 CLI입니다. 다음과 같이 생각하세요. kops as 클러스터용 kubectl.
이 블로그에서는 다음을 사용하여 Amazon에서 고가용성 Kubernetes 클러스터를 생성하는 방법을 보여드립니다. kops. 그리고 클러스터가 생성되면 클러스터에 Couchbase 서비스를 생성하고 Spring Boot 애플리케이션을 실행하여 JSON 문서를 저장합니다.
를 데이터베이스에 저장합니다.

많은 분들께 감사드립니다. justinsb, sarahz, razic, 제이고렐, 어깨를 으쓱, bkpandey 그리고 다른 사람들 Kubernetes 슬랙 채널 세부 사항을 도와주셔서 감사합니다!

kops 및 kubectl 다운로드

  • 다운로드 Kops 최신 릴리스. 이 블로그는 다음을 사용하여 테스트되었습니다. 1.4.1 에 대한 전체 명령 집합을 제공합니다.
    kops 를 볼 수 있습니다:
  • 다운로드 kubectl:
  •  포함 kubectlPATH.

아마존에서 버킷 및 NS 레코드 생성

현재로서는 약간의 설정이 필요하며, 다음 릴리스에서 이 문제가 해결되기를 바랍니다. AWS에서 클러스터 불러오기 자세한 단계와 더 많은 배경 지식을 제공합니다.
블로그의 내용은 다음과 같습니다:

  • 쿠버네티스 클러스터를 호스팅할 도메인을 선택합니다. 이 블로그는 kubernetes.arungupta.me 도메인을 선택합니다. 최상위 도메인 또는 하위 도메인을 선택할 수 있습니다.
  • 아마존 루트 53 는 가용성과 확장성이 뛰어난 DNS 서비스입니다. 로그인 Amazon 콘솔 를 생성하고 호스트 영역 라우트 53 서비스를 사용하는 이 도메인에 대해
    kops-hosted-zone
    생성된 영역은 다음과 같습니다:
    kops-hosted-zone-created
    에 표시된 값은 가치 열은 나중에 NS 레코드를 만드는 데 사용되므로 중요합니다.
  • 다음을 사용하여 S3 버킷을 만듭니다. Amazon 콘솔 를 사용하여 클러스터 구성을 저장합니다. 상태 저장소.
    kops-s3-bucket
  • 도메인 kubernetes.arungupta.me 은(는) GoDaddy에서 호스팅됩니다. Route53 호스트 영역의 값 열에 표시된 각 값에 대해 다음을 사용하여 NS 레코드를 만듭니다. GoDaddy 도메인 제어 센터 에 대한
    이 도메인.레코드 유형을 선택합니다:
    kops-godaddy-add-zone-record
    각 값에 대해 그림과 같이 레코드를 추가합니다:
    kops-godaddy-add-ns-record
    완성된 레코드 세트는 다음과 같습니다:
    kops-godaddy-ns-records

쿠버네티스 멀티마스터 클러스터 시작하기

아마존 지역 및 지역에 대해 조금 더 이해해 보겠습니다:

Amazon EC2는 전 세계 여러 위치에서 호스팅됩니다. 이러한 위치는 리전 및 가용 영역으로 구성됩니다. 각 리전은 별도의 지리적 영역입니다. 각 리전에는 가용 영역이라고 하는 여러 개의 격리된 위치가 있습니다.

가용성이 높은 Kubernetes 클러스터는 여러 영역에 걸쳐 생성할 수 있지만 지역 간에는 생성할 수 없습니다.

  • 지역 내 사용 가능 지역을 확인하세요:
  • 멀티 마스터 클러스터를 만듭니다:

    대부분의 스위치는 설명이 필요 없습니다. 일부 스위치는 약간의 설명이 필요합니다:

    • 다음을 사용하여 여러 영역 지정 --마스터 영역 (홀수여야 함) AZ에 여러 마스터를 생성합니다.
    • --cloud=aws 는 영역에서 클라우드를 추론할 수 있는 경우 선택 사항입니다.
    • --예 는 클러스터를 즉시 생성하도록 지정하는 데 사용됩니다. 그렇지 않으면 상태만 버킷에 저장되고 클러스터는 별도로 만들어야 합니다.

    전체 CLI 스위치 세트를 볼 수 있습니다:

  • 클러스터가 생성되면 클러스터에 대한 자세한 내용을 확인합니다:

  • 클러스터 클라이언트 및 서버 버전을 확인합니다:

  • 클러스터의 모든 노드를 확인합니다:

    또는 마스터 노드만 찾아보세요:

  • 모든 클러스터를 확인합니다:

Kubernetes 대시보드 애드온

기본적으로 kops를 사용하여 만든 클러스터에는 UI 대시보드가 없습니다. 하지만 애드온으로 추가할 수 있습니다:

이제 클러스터에 대한 전체 세부 정보를 볼 수 있습니다:

그리고 Kubernetes UI 대시보드는 표시된 URL에 있습니다. 우리의 경우, 이것은 https://api.kubernetes.arungupta.me/ui 처럼 보입니다:

이 대시보드에 액세스하기 위한 자격 증명은 다음을 사용하여 얻을 수 있습니다. kubectl 구성 보기 명령을 실행합니다. 값은 다음과 같이 표시됩니다:

카우치베이스 서비스 배포

에 설명된 대로 스프링 부트와 카우치베이스를 사용하여 Kubernetes 1.4 시작하기를 사용하여 Couchbase 서비스를 실행해 보겠습니다:

이 구성 파일은 다음 위치에 있습니다. github.com/arun-gupta/kubernetes-java-sample/blob/master/maven/couchbase-service.yml. 서비스 목록을 확인하세요:

서비스에 대해 설명하세요:

포드 받기:

스프링 부트 애플리케이션 실행

Spring Boot 애플리케이션은 Couchbase 서비스에 대해 실행되며 그 안에 JSON 문서를 저장합니다. Spring Boot 애플리케이션을 시작합니다:

이 구성 파일은 다음 위치에 있습니다. github.com/arun-gupta/kubernetes-java-sample/blob/master/maven/bootiful-couchbase.yml. 모든 포드 목록을 참조하세요:

전체 파드의 로그를 확인합니다:

이제 업데이트된 대시보드의 모습은 다음과 같습니다:
kops-dashboard-with-apps

쿠버네티스 클러스터 삭제

쿠버네티스 클러스터는 다음과 같이 삭제할 수 있습니다:

couchbase.com/containers 에서 다양한 컨테이너 프레임워크에서 Couchbase를 실행하는 방법에 대한 자세한 내용을 확인할 수 있습니다. Couchbase에 대한 자세한 정보:

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

작성자

게시자 아룬 굽타

아룬 굽타는 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는 가장 쉽고 빠르게 시작할 수 있는 방법입니다.

연락하기

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