IBM Kubernetes 클러스터에 Helm Chart로 Apache Pulsar 설치

IBM Kubernetes 클러스터에 Helm Chart로 Apache Pulsar 설치

IBM Cloud에서 Pulsar 클러스터를 배포하는 방법을 단계별로 안내하는 튜토리얼이에요. 가상 서버를 만들고 Kubernetes 클러스터를 프로비저닝한 뒤, VM에서 CLI로 연결해 Helm Chart로 Pulsar를 설치하는 전체 흐름을 따라 해 볼게요. 각 단계의 명령과 주의할 점을 정리해 드릴게요.

출처: 문서

본문

팁 이 튜토리얼은 예시로 Apache Pulsar 2.9.3을 사용해요. Pulsar 버전을 업그레이드하려면 Helm 업그레이드 가이드의 지침을 따르세요.

IBM Cloud에 Pulsar 클러스터를 배포하는 것은 다음 단계로 구성돼요.

1단계: IBM Cloud에서 VM 만들기

  1. IBM Cloud로 이동해 자격 증명으로 로그인해요.
  2. Virtual Server를 검색해요.
  3. Virtual Server for Classic을 선택해요.
  4. 이미지에서 표시된 대로 가상 서버 유형을 "Public"으로 선택해요. 호스트 이름, 머신 수량, 청구 방식을 입력해요.
  5. 리전에 따라 위치 값을 선택해요. 예: 아래 이미지에서는 아시아 리전의 Chennai를 선택했어요.
  6. 가상 머신의 프로필을 선택해요.
  7. 운영 체제와 버전을 선택해요.
  8. 용도에 따라 네트워크 인터페이스를 선택해요.
  9. 보안 그룹을 선택해요.
  10. 나머지는 기본값으로 두고 "Create" 버튼을 클릭해요.
  11. "Navigation Menu" -> "Resource list" Devices에서 생성된 VM을 확인해요.
  12. 개요에서 VM의 세부 정보를 확인해요.
  13. 디바이스 목록을 확인하고, 같은 페이지의 메뉴 옵션을 클릭해요.

2단계: IBM에서 Kubernetes 클러스터 만들기

  1. Kubernetes 서비스를 검색해요.
  2. 요금제 세부 정보를 "Standard"로 선택해요. "Free" 요금제는 리소스가 제한되어 Pulsar 클러스터 요구 사항을 충족할 수 없다는 점에 유의하세요.
  3. 인프라 유형을 classic으로 정하고 Kubernetes 버전도 선택해요.
  4. 위치와 리소스 그룹을 선택해요. 필요에 따라 단일 존 또는 다중 존을 선택해요.
  5. 작업자 풀 크기와 작업자의 flavor(vCPU, 메모리)를 선택해요.
  6. 원하는 대로 클러스터 이름을 설정해요.
  7. 나머지는 기본값을 선택하는 것으로 두고, 아래 옵션은 비활성화할 수 있어요. 만들기를 클릭하고 클러스터 프로비저닝을 기다려요.
  8. 클러스터가 성공적으로 프로비저닝된 후 클러스터에 연결해요. 연결하려면 "Action" 버튼을 클릭한 다음 "Connect via CLI"를 클릭해요. 그러면 명령이 제공되는데, 이를 복사해 VM에서 실행해요. 이렇게 해야 VM을 통해 클러스터와 통신할 수 있어요. VM이 클러스터와 통신하도록 구성해야 하며, 다음 단계에서 그 방법을 설명해요.
  9. 클러스터 옵션을 클릭해 생성된 클러스터 목록을 확인해요.
  10. 생성된 모든 클러스터의 목록이 표시돼요.

3단계: Kubernetes 클러스터 연결용 VM 준비 및 Kubernetes 클러스터에 Pulsar Helm chart 배포

사전 요구 사항

  1. IBM Cloud CLI를 설치하고 Kubernetes 마스터 노드에 연결해요.
  2. IKS(IBM Kubernetes Services)에 연결하기 위해 IBM Cloud CLI Plugins을 설치해요. 필수 단계예요.
  3. kubectl 1.23 이상 버전을 설치해요.
  4. Helm을 설치해요.

참고 아래 명령을 실행하기 전에 위의 모든 항목을 설치하세요.

  1. 먼저 개인 키로 VM에 SSH 접속해요. 아래 명령을 하나씩 실행해요.
   $ ibmcloud login
   $ ibmcloud plugin list
  1. Kubernetes 클러스터에 연결하려면 Kubernetes 클러스터 섹션(Kubernetes 콘솔)에서 아래와 같은 명령을 얻어요.
    $ibmcloud ks cluster config --cluster ccql163t064kpvg5gg10

참고 이 단계는 Kubernetes 클러스터를 만드는 동안 표시돼요.

  1. 위 이미지에 보이는 두 번째와 세 번째 명령을 실행하면 아래와 같은 출력을 얻어요. 이미 IBM Cloud에 로그인했으므로 첫 번째 명령을 실행할 필요는 없어요.

이제 kubectl의 명령을 실행할 수 있게 됐어요.

4단계: 배포 확인

Pulsar의 모든 파드가 실행 중인지 확인해요. 메시지를 게시하고 소비하기 위한 서비스 URL과 broker URL을 가져와요.

minikube 클러스터에서 Pulsar helm 설치 — 이 문서는 minikube 클러스터용이며 우리가 참고하는 문서예요.

  1. Pulsar chart 저장소 추가
$ helm repo add apachepulsar https://pulsar.apache.org/charts
$ helm repo update
$ helm repo list
  1. Pulsar Helm chart 저장소를 복제하고 pulsar-helm-chart 디렉터리 안으로 들어가요
git clone https://github.com/apache/pulsar-helm-chart
cd pulsar-helm-chart
  1. Apache Pulsar Helm chart를 설치하는 데 필요한 secrets를 생성하려면 prepare_helm_release.sh 스크립트를 실행해요. username pulsar와 password pulsar는 Grafana 대시보드와 Pulsar Manager에 로그인하는 데 사용돼요.

참고 스크립트를 실행할 때 -n으로 Pulsar Helm chart가 설치되는 Kubernetes 네임스페이스를 지정하고, -k로 Pulsar Helm 릴리스 이름을 정의하며, -c로 Kubernetes 네임스페이스를 생성할 수 있어요. 스크립트에 대한 자세한 정보는 ./scripts/pulsar/prepare_helm_release.sh --help를 실행하세요.

 ./scripts/pulsar/prepare_helm_release.sh -n default -k asia -c
  1. Pulsar Helm chart를 사용해 Kubernetes에 Pulsar 클러스터를 설치해요.
helm install --values examples/values-minikube.yaml --set initialize=true asia apachepulsar/pulsar

참고 Pulsar를 처음 설치할 때는 --set initialize=true를 지정해야 해요. 이 명령은 Apache Pulsar를 설치하고 시작해요.

  1. 모든 파드의 상태 확인.
kubectl get pods

모든 파드가 성공적으로 시작되면 STATUSRunning 또는 Completed로 바뀌는 것을 볼 수 있어요.

  1. 모든 서비스의 상태 확인.
 kubectl get services

출력에는 services URLbroker URL이 모두 표시돼요. 프록시 외부 IP는 방금 변경한 포트로 표시돼요:

  • Service URL 포트는 80이에요.
  • Broker URL 포트는 6650이에요. 이것은 기본값이에요. 모든 명령을 성공적으로 실행했다면 Pulsar 클라이언트를 사용해 클러스터에 연결하고 프록시 외부 IP를 통해 메시지를 생산하고 소비할 수 있어요.

더 알아보기 (Learn more)