카우치베이스 서버

Google Cloud의 Kubernetes 클러스터 및 Couchbase 서비스 노출

kubernetes-logo

이 블로그는 여러 파트로 구성된 블로그 시리즈의 일부로, Kubernetes에서 애플리케이션을 실행하는 방법을 보여줍니다. 이 블로그는 카우치베이스오픈 소스 NoSQL 분산 문서 데이터베이스를 Docker 컨테이너로 사용합니다.

첫 번째 부분(쿠버네티스의 카우치베이스)에서는 Vagrant를 사용하여 Kubernetes 클러스터를 시작하는 방법을 설명했습니다. 두 번째 부분(아마존의 쿠버네티스)에서 해당 설정을 실행하는 방법을 설명합니다.

이 세 번째 파트에서 보여드릴 내용입니다:

  • Google Cloud에서 Kubernetes 클러스터를 설정하고 시작하는 방법
  • 쿠버네티스 클러스터에서 도커 컨테이너 실행하기
  • 쿠버네티스에서 파드를 서비스로 노출하기
  • 클러스터 종료

다음은 간단한 개요입니다:

Kubernetes Cluster on Google Cloud

자세히 알아보겠습니다!

Google 컴퓨팅 엔진 시작하기 에서는 Google Cloud에서 Kubernetes를 설정하는 방법에 대한 자세한 지침을 제공합니다.

Google Cloud SDK 다운로드 및 구성

컴퓨터에서 Google 클라우드에 액세스한 적이 없는 경우 약간의 설정이 필요합니다. 이 과정이 다소 번거로웠지만 간소화되었으면 좋겠습니다.

  • 다음에서 청구 가능한 계정을 만듭니다. Google 클라우드
  • 설치 Google 클라우드 SDK
  • 자격 증명 구성: gcloud 인증 로그인
  • 새 Google Cloud 프로젝트를 만들고 이름을 지정합니다. 카우치베이스-온-쿠버네티스
  • 프로젝트를 설정합니다: gcloud 구성 설정 프로젝트 카우치베이스-온-쿠버네티스 프로젝트
  • 기본 영역을 설정합니다: gcloud 구성 설정 컴퓨트/영역 US-CENTRAL1-A
  • 인스턴스를 만듭니다: gcloud compute 인스턴스 생성 예제 인스턴스 --machine-type n1-standard-1 --image debian-8
  • 인스턴스에 접속합니다: gcloud 컴퓨트 SSH 예제 인스턴스
  • 인스턴스를 삭제합니다: gcloud 컴퓨트 인스턴스 삭제 예제 인스턴스

Google Cloud에서 Kubernetes 클러스터 설정하기

Kubernetes 클러스터는 Google Cloud에서 다음과 같이 만들 수 있습니다:

다음 사항을 확인하십시오. 쿠버네티스_프로바이더 로 설정되어 있거나 gce 로 설정하거나 전혀 설정하지 않습니다. 기본적으로 마스터가 하나 있는 4노드 Kubernetes 클러스터를 프로비저닝합니다. 즉, 5개의 가상 머신이 생성됩니다.

다음에서 Kubernetes를 다운로드한 경우 github.com/kubernetes/kubernetes/releases에서 모든 값을 변경할 수 있습니다. cluster/aws/config-default.sh.

Google Cloud에서 Kubernetes를 시작하면 다음 로그가 표시됩니다. Google Cloud SDK가 약간 이상하게 동작했지만 기본값을 사용하면 작동하는 것 같습니다:

몇 개의 바인딩되지 않은 변수와 경고 메시지가 있지만 스크립트가 손상되지는 않은 것 같습니다. Google 클라우드 콘솔을 보여줍니다: Google Cloud Compute Instances On Kubernetes Cluster

그림과 같이 마스터 노드용 인스턴스 1개와 워커 노드용 인스턴스 4개 등 총 5개의 인스턴스가 생성됩니다.

구글 클라우드의 쿠버네티스 클러스터에서 도커 컨테이너 실행하기

이제 클러스터가 실행 중이므로 모든 노드 목록을 가져옵니다:

4개의 워커 노드가 표시됩니다. 카우치베이스 파드를 생성합니다:

CLI에서 이미지 이름을 지정하는 방법에 주목하세요. 이 명령은 단일 파드가 있는 리플리케이션 컨트롤러를 생성합니다. 이 파드는 아룽업타/카우치베이스 사전 구성된 Couchbase 서버를 제공하는 Docker 이미지입니다. 모든 Docker 이미지를 여기에 지정할 수 있습니다.

모든 RC 리소스를 확인하세요:

그러면 생성된 복제 컨트롤러가 표시됩니다.

모든 파드를 가져옵니다:

출력에는 리플리케이션 컨트롤러의 일부로 생성된 파드가 표시됩니다.

Pod에 대해 자세히 알아보세요:

쿠버네티스에서 파드를 서비스로 노출하기

이제 파드가 실행 중인데, Couchbase 서버에 어떻게 액세스하나요? 쿠버네티스 클러스터 외부에 노출시켜야 합니다. 쿠버네티스 클러스터의 kubectl 노출 명령은 파드, 서비스 또는 리플리케이션 컨트롤러를 가져와서 쿠버네티스 서비스로 노출합니다.

이전에 생성한 복제 컨트롤러를 노출해 보겠습니다:

서비스에 대해 자세히 알아보세요:

그리고 로드밸런서 인그레스 속성은 이제 공개적으로 액세스할 수 있는 로드 밸런서의 IP 주소를 제공합니다. 로드 밸런서가 안정화될 때까지 3분 정도 기다립니다. 포트 8091을 사용하여 액세스하면 Couchbase 웹 콘솔의 로그인 페이지가 표시됩니다: Google Cloud Kubernetes Couchbase Login Page

웹 콘솔을 보려면 '관리자' 및 '비밀번호'로 자격 증명을 입력합니다: Google Cloud Kubernetes Couchbase Web Console

그래서 방금 쿠버네티스 클러스터 외부에서 파드에 액세스했습니다.

쿠버네티스 클러스터 종료

마지막으로 다음을 사용하여 클러스터를 종료합니다. cluster/kube-down.sh 스크립트.

즐기세요!

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

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

연락하기

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