테넌트 관리

테넌트 관리 (Managing Tenants)

테넌트(tenant)는 네임스페이스처럼 admin API로 관리할 수 있어요. 현재 테넌트에서 구성할 수 있는 두 가지 측면은 관리 역할(admin roles)과 허용 클러스터(allowed clusters)예요. 이 페이지에서는 테넌트의 나열·생성·구성 조회·삭제·업데이트를 pulsar-admin CLI, REST API, Java admin API로 정리했어요.

출처: 문서

본문

tip

이 페이지는 자주 사용하는 일부 작업만 보여줘요.

  • Pulsar admin 명령, 플래그, 설명 등 최신·전체 정보는 Pulsar admin docs를 참고해요.
  • REST API 파라미터, 응답, 샘플 등 최신·전체 정보는 REST API doc을 참고해요.
  • Java admin API 클래스, 메서드, 설명 등 최신·전체 정보는 Java admin API doc을 참고해요.

테넌트는 네임스페이스처럼 admin API로 관리할 수 있어요. 현재 테넌트에서 구성할 수 있는 두 가지 측면은 다음과 같아요.

  • Admin roles(관리 역할)
  • Allowed clusters(허용 클러스터)

테넌트 리소스 (Tenant resources)

나열 (List)

인스턴스와 연관된 모든 테넌트를 나열할 수 있어요.

pulsar-admin · REST API · Java

list 하위 명령을 사용해요.

pulsar-admin tenants list

출력:

my-tenant-1
my-tenant-2

REST API: GET /admin/v2/tenants

Java

admin.tenants().getTenants();

생성 (Create)

새 테넌트를 만들 수 있어요.

pulsar-admin · REST API · Java

create 하위 명령을 사용해요.

pulsar-admin tenants create my-tenant

테넌트를 생성할 때 선택적으로 -r/--admin-roles 플래그로 관리 역할을, -c/--allowed-clusters 플래그로 클러스터를 지정할 수 있어요. 여러 값을 쉼표로 구분해 지정할 수 있어요. 예시는 다음과 같아요.

pulsar-admin tenants create my-tenant \
    --admin-roles role1,role2,role3 \
    --allowed-clusters cluster1
pulsar-admin tenants create my-tenant \
    -r role1 \
    -c cluster1

REST API: PUT /admin/v2/tenants/{tenant}

Java

admin.tenants().createTenant(tenantName, tenantInfo);

구성 가져오기 (Get configuration)

기존 테넌트의 구성을 언제든 가져올 수 있어요.

pulsar-admin · REST API · Java

get 하위 명령에 테넌트 이름을 지정해요. 예시는 다음과 같아요.

pulsar-admin tenants get my-tenant
{
  "adminRoles": [
    "admin1",
    "admin2"
  ],
  "allowedClusters": [
    "cl1",
    "cl2"
  ]
}

REST API: GET /admin/v2/tenants/{tenant}

Java

admin.tenants().getTenantInfo(tenantName);

삭제 (Delete)

Pulsar 인스턴스에서 테넌트를 삭제할 수 있어요.

pulsar-admin · REST API · Java

delete 하위 명령에 테넌트 이름을 지정해요.

pulsar-admin tenants delete my-tenant

REST API: DELETE /admin/v2/tenants/{tenant}

Java

admin.Tenants().deleteTenant(tenantName);

업데이트 (Update)

테넌트의 구성을 업데이트할 수 있어요.

pulsar-admin · REST API · Java

update 하위 명령을 사용해요.

pulsar-admin tenants update my-tenant \
    --admin-roles role1,role2 \
    --allowed-clusters cluster1,cluster2

REST API: POST /admin/v2/tenants/{tenant}

Java

admin.tenants().updateTenant(tenantName, tenantInfo);

더 알아보기 (Learn more)

  • 테넌트 관련 전체 명령은 pulsar-admin의 tenants 명령 참고서를 확인해요.
  • REST API 엔드포인트 상세는 /admin/v2/tenants 문서를 참고해요.
  • Java admin API의 tenants 메서드는 PulsarAdmin 객체 문서에서 볼 수 있어요.
  • 테넌트의 개념과 역할이 궁금하다면 테넌트 개념 문서를 참고해요.