Kubernetes Logo

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

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

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

azure-kubernetes-couchbase-cluster

많은 분들께 감사드립니다. 콜미킨스  이 레시피를 도와주셔서 감사합니다.

Azure CLI 설치 및 구성

Azure CLI 는 Azure 애플리케이션을 개발, 배포 및 관리하기 위한 명령줄 인터페이스입니다. Azure에 Kubernetes 클러스터를 설치하기 위해 필요합니다.

  1. 노드를 설치합니다:
  2. Azure CLI를 설치합니다:
  3. 다음에서 무료 평가판에 등록하세요. https://azure.microsoft.com/en-us/free/.
  4. 다음 명령을 사용하여 Azure에 로그인합니다. Azure 로그인:
  5. 다음을 사용하여 계정 정보를 가져옵니다. Azure 계정 쇼 명령을 사용합니다:

    XXX와 YYY 대신 표시된 값에 주목하세요. 이 값은 쿠버네티스 클러스터를 구성하는 데 사용됩니다.

쿠버네티스 클러스터 시작

  1. 다운로드 쿠버네티스 1.2.4 를 클릭하고 추출합니다.
  2. Azure의 Kubernetes 클러스터는 다음과 같이 시작할 수 있습니다:

    다음에 적절한 값을 지정해야 합니다. XXX 그리고 YYY 를 이전 명령에서 변경합니다. azure_subscription_id 그리고 AZURE_TENANT_ID 는 Azure에만 해당됩니다. 다음 값
    에서도 편집할 수 있습니다. cluster/azure/config-default.sh.
  3. Kubernetes 클러스터를 시작합니다:

    네 개의 노드를 시작합니다. Standard_A1 크기. 각
    노드는 코어 1개, 1.75GB RAM, 40GB HDD를 제공합니다.

Azure의 Kubernetes 클러스터에서 Docker 컨테이너 실행하기

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

그림과 같이 마스터 노드용 인스턴스 1개와 워커 노드용 인스턴스 3개 등 4개의 인스턴스가 생성됩니다. Azure 포털 리소스 그룹에서 생성된 모든 아티팩트를 표시합니다:
 azure-portal-kubernetes-resource-group-1024x578

생성된 노드에 대한 자세한 내용은 여기에서 확인할 수 있습니다:

 azure-portal-kubernetes-resource-group-1024x578

카우치베이스 포드를 생성합니다:

CLI에서 이미지 이름을 지정하는 방법에 주목하세요. 1.2 이전 버전의 쿠버네티스에서는 이 명령어로 복제 컨트롤러를 생성했습니다. 이에 대한 설명은  아마존 웹 서비스의 Kubernetes 또는 구글 클라우드의 쿠버네티스. 쿠버네티스 1.2 도입된 디플로이먼트 그리고
대신 배포를 생성합니다. 이를 통해 버전 관리, 여러 개의 동시 롤아웃, 모든 포드에 걸친 상태 집계, 애플리케이션 가용성 유지 및 롤백 등 애플리케이션 배포 및 관리를 간소화할 수 있습니다.

이 포드는 다음을 사용합니다. 아룽업타/카우치베이스 사전 구성된 Couchbase 서버를 제공하는 Docker 이미지입니다. 모든 Docker 이미지를 여기에서 지정할 수 있습니다. 파드의 상태를 볼 수 있습니다:

포드에 대한 자세한 내용을 알아보세요:

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

이제 파드가 실행 중인데, Couchbase 서버에 어떻게 액세스하나요? Kubernetes 클러스터 외부에 서비스형 배포를 노출해야 합니다. 일반적으로, 이것은 명령을 사용하여 노출됩니다:

하지만 Azure는 다음을 지원하지 않습니다. --유형=로드밸런서 를 사용할 수 없습니다. 이 기능은 현재 개발 중이며 가까운 시일 내에 제공될 예정입니다. 그 동안에는 서비스를 다음과 같이 노출할 예정입니다:

이제 다음을 사용하여 이 서비스를 프록시합니다. kubectl 프록시 명령을 사용합니다:

이제 이 노출된 서비스는 http://127.0.0.1:9999/api/v1/proxy/namespaces/default/services/couchbase/index.html 에서 액세스할 수 있습니다. 로그인 화면이 표시됩니다.
화면의 카우치베이스 웹 콘솔:
azure-kubernetes-couchbase-web-console

쿠버네티스 클러스터 종료

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

이 스크립트는 클러스터를 종료하지만 Azure 리소스 그룹은 명시적으로 제거해야 합니다. 이 작업은 다음에서 리소스 그룹을 선택하여 수행할 수 있습니다. portal.azure.com:
 azure-portal-kubernetes-delete-resource-group

이것은 다음과 같이 제출됩니다. #26601.

추가 참고 자료 ...

즐기세요!

작성자

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

댓글 하나

  1. 이 방법을 시도하는 과정에서 좋은 진전을 이루었지만 마지막에 문제가 발생했습니다. 프록시 연결에서 풀 엔드포인트에 수동으로 접속하여 인증할 수 있지만 웹 UI가 프록시된 URL을 사용하지 않고 전체 프록시된 URL 대신 127.0.0.1:9999/pools만 시도하고 있습니다. 제가 단계를 놓쳤나요? 여담이지만, 이제 분명히 사용할 수 있는 -type=LoadBalancer를 사용할 수 있었습니다.

댓글 남기기