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

첫 번째 부분(쿠버네티스의 카우치베이스)에서 Vagrant를 사용하여 Kubernetes 클러스터를 시작하는 방법을 설명했습니다. 이는 개발, 테스트 및 배포를 위한 간단하고 쉬운 방법입니다.
로컬 머신의 쿠버네티스 클러스터. 하지만 로컬 머신의 리소스에 제약이 있기 때문에 이 방법은 곧 제한적으로 사용될 수 있습니다. 그렇다면 어떻게 해야 할까요?

아마존에도 Kubernetes 클러스터를 설치할 수 있습니다. 이 두 번째 파트에서 보여드리겠습니다:

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

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

Kubernetes Cluster on Amazon with Couchbase

자세히 알아봅시다!

아마존 웹 서비스에서 쿠버네티스 클러스터 설정하기

AWS EC2에서 시작하기 는 Amazon에서 Kubernetes 클러스터를 시작하기 위한 완전한 지침을 제공합니다. 사전 요구 사항(AWS 계정, AWS CLI, 전체 EC2 액세스 권한)이 있는지 확인합니다.
를 충족해야 이 지침을 따를 수 있습니다. 아마존에서 Kubernetes 클러스터를 다음과 같이 생성할 수 있습니다:

기본적으로 새 VPC와 4노드 Kubernetes 클러스터를 다음 위치에 프로비저닝합니다. US-WEST-2A (오레곤) t2.micro 인스턴스를 생성합니다. 즉, 5개의 AMI(마스터 노드용 1개, 워커 노드용 4개)가 생성됩니다. 일부
속성을 업데이트할 가치가 있습니다:

  • 설정 NUM_MINIONS 환경 변수를 클러스터에 필요한 노드 수에 맞게 설정합니다. 워커 노드를 두 개만 생성하려면 2로 설정합니다.
  • 각 인스턴스 크기는 1.1.x입니다. t2.micro. Set MASTER_SIZE 그리고 MINION_SIZE 환경 변수를 m3.medium 그렇지 않으면 노드가 크롤링됩니다.

다음에서 Kubernetes를 다운로드한 경우 github.com/kubernetes/kubernetes/releases에서 모든 값을 변경할 수 있습니다. cluster/aws/config-default.sh. 에서 쿠버네티스 시작
Amazon은 다음 로그를 표시합니다:

Amazon 콘솔 쇼:

Kubernetes Cluster on Amazon

그림과 같이 마스터 노드용 인스턴스 1개와 워커 노드용 인스턴스 2개 등 3개의 인스턴스가 생성됩니다. 쿠버네티스 마스터의 사용자 이름과 비밀번호는 다음 위치에 저장됩니다. /사용자/아룽업타/.kube/config. 와 같은 섹션을 찾습니다:

아마존의 쿠버네티스 클러스터에서 도커 컨테이너 실행하기

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

두 개의 워커 노드가 표시됩니다. 새 Couchbase 파드를 생성합니다:

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

여기에는 사용자를 위해 생성된 복제 컨트롤러가 표시됩니다. 모든 파드를 가져옵니다:

출력에는 레플리케이션 컨트롤러의 일부로 생성된 파드가 표시된다. 파드에 대한 자세한 내용을 확인한다:

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

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

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

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

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

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

쿠버네티스 클러스터 종료

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

완전한 정리를 위해서는 Kubernetes 바이너리가 저장된 S3 버킷을 명시적으로 삭제해야 합니다.

즐기세요!

작성자

게시자 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에서 쉽게 만나볼 수 있습니다.

댓글 남기기