Managing Tenants

Tenants, like namespaces, can be managed using the admin API. There are currently two configurable aspects of tenants:

  • Admin 角色
  • 允许的集群

租户资源

获取资源列表

You can list all of the tenants associated with an instance.

pulsar-admin

REST API

JAVA

Use the list subcommand.

  1. $ pulsar-admin tenants listmy-tenant-1my-tenant-2

GET /admin/v2/tenants

  1. admin.tenants().getTenants();

创建

You can create a new tenant.

pulsar-admin

REST API

JAVA

Use the create subcommand:

  1. $ pulsar-admin tenants create my-tenant

When creating a tenant, you can assign admin roles using the -r/--admin-roles flag. You can specify multiple roles as a comma-separated list. 下面是一些示例:

  1. $ pulsar-admin tenants create my-tenant \ --admin-roles role1,role2,role3$ pulsar-admin tenants create my-tenant \ -r role1

POST /admin/v2/tenants/:tenant

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

获取配置

You can fetch the configuration for an existing tenant at any time.

pulsar-admin

REST API

JAVA

Use the get subcommand and specify the name of the tenant. 下面是一个示例:

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

GET /admin/v2/tenants/:cluster

  1. admin.tenants().getTenantInfo(tenantName);

删除

Tenants can be deleted from a Pulsar instance.

pulsar-admin

REST API

JAVA

Use the delete subcommand and specify the name of the tenant.

  1. $ pulsar-admin tenants delete my-tenant

DELETE /admin/v2/tenants/:cluster

  1. admin.Tenants().deleteTenant(tenantName);

更新

You can update a tenant’s configuration.

pulsar-admin

REST API

JAVA

Use the update subcommand.

  1. $ pulsar-admin tenants update my-tenant

DELETE /admin/v2/tenants/:cluster

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