AKS(Azure 컨테이너 서비스)는 다음에서 관리되는 Kubernetes 서비스입니다. Microsoft Azure. 현재 프리뷰 버전이므로 추후 변경될 수 있는 사항이 있습니다.

이 게시물에서는 AKS 클러스터를 생성하고 그 위에 Couchbase 클러스터를 설치하여 카우치베이스 쿠버네티스 운영자 (또한 사전 출시 중입니다).

이 게시물은 이미 Azure 계정을 만들었다고 가정합니다. 아직 만들지 않았다면 다음을 확인하세요. Azure: 쉽고 무료인 시작하기.

Azure 클라우드 셸

먼저 Azure 포털. 비교적 새롭고 매우 멋진 Azure의 기능인 Cloud Shell을 사용하겠습니다. Azure 포털 화면의 오른쪽 상단에 있는 "명령 프롬프트" 아이콘을 클릭합니다.

Azure Cloud Shell icon

이 버튼을 클릭하면 브라우저에서 바로 셸 명령 프롬프트 창이 열립니다. 처음 이 작업을 수행하면 Azure에서 Bash와 PowerShell 중 하나를 선택하라는 메시지가 표시됩니다. 저는 PowerShell을 사용하기로 결정했습니다. (Bash에 더 익숙하다면 그래도 따라할 수 있을 것입니다).. Cloud Shell을 처음 사용할 때(그리고 처음 사용할 때만) 스토리지 계정을 설정해야 합니다. 이 작업은 몇 분 정도 걸립니다.

Bash or PowerShell

명령 프롬프트가 표시되면 브라우저에 직접 명령을 입력할 수 있습니다!

Azure Cloud Shell prompt

저처럼 Azure 내에서 여러 계정을 구독하는 경우(예: MSDN 구독과 종량제 구독이 있는 경우) 이 명령을 입력하여 어느 것이 '기본값'인지 확인해야 합니다:

이 명령은 내 계정 목록을 JSON 형식으로 출력합니다. 계정 목록에서 isDefault 필드를 설정할 수 있습니다. 예를 들어, 제 경우에는 '종량제 결제'가 기본값으로 설정되어 있었습니다(MSDN 계정에 충분한 크레딧이 있기 때문에 원하지 않습니다).

기본값을 변경하려면 다음과 같은 명령을 입력합니다:

구독 이름(저처럼) 또는 아이디를 사용할 수 있습니다.

Azure-cli

위의 두 명령에서 "az"를 사용한 것은 "Azure CLI"를 사용하고 있습니다. 로컬 머신에 설치할 수 있으며, Cloud Shell을 사용할 때 바로 제공됩니다.

Couchbase 클러스터로 Kubernetes 클러스터를 생성하기 전에 azure-cli를 사용하여 기초를 다져보겠습니다.

먼저 리소스 그룹을 만듭니다. 리소스 그룹은 Azure의 다양한 서비스 및 인스턴스를 구성하는 데 사용할 수 있는 논리적 그룹입니다. 이 명령을 사용하여 현재 모든 리소스 그룹의 목록을 가져올 수 있습니다:

여러 가지 방법으로 새 리소스 그룹을 만들 수 있지만 명령줄에서 만드는 방법은 다음과 같습니다:

이 시점에서 리소스 그룹을 실행하면 다음과 같이 나타나야 합니다. AZ 그룹 목록를 클릭하거나 일반 Azure 포털 UI에서 리소스 그룹을 볼 때 사용합니다.

로컬 Windows PowerShell을 사용하려는 경우에는 다음 단계를 수행해야 할 수도 있습니다:

  1. 컨테이너 서비스가 등록되어 있는지 확인하세요. 다음을 실행하여 확인할 수 있습니다. az 공급자 목록 | ConvertFrom-Json | 형식 전체 를 클릭하고 목록에 있는지 확인합니다.
  2. 목록에 없는 경우 ContainerService 등록을 시작하세요: az 공급자 등록 -n Microsoft.ContainerService
  3. 그런 다음 컨테이너 서비스 등록 진행 상황을 모니터링합니다: az 공급자 show -n Microsoft.ContainerService ("등록 상태"가 "등록 중"이 아니고 "등록됨"이 될 때까지 기다립니다.)

AKS가 프리뷰에서 일반 릴리스로 전환되면 이러한 단계가 필요하지 않을 수 있습니다.

AKS 클러스터 만들기

그런 다음 이전 섹션에서 만든 리소스 그룹 내에 AKS 클러스터를 만듭니다:

(AKS 클러스터 이름에는 문자, 숫자, 대시만 포함할 수 있습니다).

이 작업은 완료하는 데 시간이 다소 걸립니다. 완료되면 관리형 컨테이너 서비스를 사용하게 됩니다:

  • 크기 3의 노드 풀(기본값, -node-count로 지정 가능)
  • 각 노드는 DS1_v2 Azure 인스턴스(단일 CPU, 3.5GB RAM 머신으로, 이 데모에는 저렴하고 괜찮지만 프로덕션에서는 더 강력한 Couchbase 머신을 사용하고 싶을 것입니다).

다음과 같이 쿠버네티스 클러스터. 다음으로 카우치베이스 클러스터 Kubernetes 클러스터를 참조할 수 있습니다. 클러스터를 참조할 때마다 특정 클러스터를 추적하고 전달하는 것이 중요합니다.

kubectl을 사용하여 AKS에 카우치베이스 설치하기

다음 부분은 Azure Cloud 셸이 아닌 PowerShell에서 로컬로 실행됩니다. 로그인한 상태여야 하며 다음 권한이 있어야 합니다. 이미 설치된 Azure-cli 와 함께 Kubectl (이미 가지고 계실 수도 있습니다).

그런 다음 다음 명령을 사용하여 로컬에 AKS cli를 설치합니다: az aks install-cli.

그런 다음 앞서 생성한 AKS 클러스터에 연결해야 합니다.

성공하면, kubectl을 사용하여 앞서 생성한 3개의 노드 목록을 가져올 수 있습니다.

해당 명령의 출력은 다음과 같아야 합니다:

Kubectl get nodes

카우치베이스는 쿠버네티스 운영자현재 베타 버전입니다. 당신은 가지고 를 사용하여 이 연산자를 사용할 수 있지만, Kubernetes에서 Couchbase를 사용하는 것이 훨씬 더 나은 경험이 될 것입니다.

먼저 다음과 같이 운영자를 배포하여 시작하십시오. kubectl:

Create operator

완료되면 다음을 사용하여 모든 배포를 볼 수 있습니다. kubectl get 배포.

이제 Couchbase를 배포할 차례입니다. YAML 파일을 사용하여 시크릿과 클러스터를 만들어야 합니다. 다음 URL에서 제공되는 몇 가지 샘플 YAML 파일을 사용할 수 있습니다:

물론 다음을 수행할 수 있습니다. 자체 YAML 클러스터 구성 만들기.

저는 이 샘플을 약간 변형하여 메모리 할당량, 서비스, 버킷 이름을 조정하여 직접 만들었습니다.

이 시점에서 AKS가 "포드" 생성을 시작합니다. 다음에서 상태를 확인할 수 있습니다: kubectl 파드 가져오기.

get pods
kubectl get pods running on AKS

완료하는 데 몇 분 정도 걸립니다.

AKS 클러스터에 액세스

이제 카우치베이스 클러스터가 쿠버네티스 클러스터에서 실행되고 있습니다. Couchbase가 작동하는지 확인하기 위해 액세스할 수 있는 또 다른 방법은 포트 포워딩을 사용하는 것입니다. 이 명령을 로컬에서 실행합니다:

이렇게 하면 포트 8091의 로컬호스트를 포트 8091의 cb-example-0000 파드로 포워딩하게 됩니다. 즉 http://localhost:8091 를 클릭하면 Azure의 AKS에서 실행 중인 Couchbase 클러스터로 이동합니다.

Couchbase cluster

AKS와 쿠버네티스 운영자가 작동하는 것을 쉽게 확인할 수 있는 방법은 버킷을 제거하는 것입니다. Couchbase 운영자가 이를 알아차리고 버킷을 자동으로 다시 생성합니다.

요약

이제 Azure의 Couchbase 및 AKS에 대해 알아봤습니다. 여정을 계속 진행하기 위한 몇 가지 리소스가 더 있습니다:

질문이나 의견이 있으신가요? 다음에서 저를 찾을 수 있습니다. 트위터 @mgroves.

작성자

게시자 매튜 그로브스

Matthew D. Groves는 코딩을 좋아하는 사람입니다. C#, jQuery, PHP 등 무엇이든 풀 리퀘스트를 제출할 정도로 코딩을 좋아합니다. 90년대에 부모님의 피자 가게를 위해 QuickBASIC POS 앱을 만든 이후로 전문적으로 코딩을 해왔습니다. 현재 Couchbase의 선임 제품 마케팅 관리자로 일하고 있습니다. 여가 시간에는 가족과 함께 축구 경기를 관람하고 개발자 커뮤니티에 참여하며 시간을 보냅니다. 그는 .NET의 AOP, .NET의 프로 마이크로서비스, Pluralsight 저자, Microsoft MVP의 저자이기도 합니다.

댓글 남기기