#作者:Unstopabler
在基于 Kubernetes 环境部署和管理 Apache Pulsar 时,通常会使用 kubectl 命令行工具来与集群进行交互。以下是一些常用的命令及其应用场景:
示例有如下pulsar集群
kubectl get pods -n pulsar
pulsar pulsar-bookie-0 1/1 Running
pulsar pulsar-bookie-1 1/1 Running
pulsar pulsar-bookie-2 1/1 Running
pulsar pulsar-broker-0 1/1 Running
pulsar pulsar-broker-1 1/1 Running
pulsar pulsar-broker-2 1/1 Running
pulsar pulsar-manager-7d464db5d5-rcrjt 1/1 Running
pulsar pulsar-proxy-0 1/1 Running
pulsar pulsar-proxy-1 1/1 Running
pulsar pulsar-proxy-2 1/1 Running
pulsar pulsar-pulsar-init-b2xlw 0/1 Completed
pulsar pulsar-recovery-0 1/1 Running
pulsar pulsar-toolset-0 1/1 Running
pulsar pulsar-zookeeper-0 1/1 Running
pulsar pulsar-zookeeper-1 1/1 Running
pulsar pulsar-zookeeper-2 1/1 Running
生产者
kubectl exec pulsar-toolset-0 -n pulsar – bin/pulsar-client produce persistent://mytenant/mynamespace/mytopic --messages “Hello Pulsar” --num-produce 5向mytopic这个topic生产数据,内容为“hello-pulsar”,如果mytopic不存在,pulsar会自动创建,5个消息。
消费者
kubectl exec pulsar-toolset-0 -n pulsar – bin/pulsar-client consume persistent://mytenant/mynamespace/mytopic --subscription-name my-subscription --num-messages 5消费mytopic的数据,订阅名称为“subscription", 如果mytopic不存在,pulsar会自动创建,消费5个消息
查看生产/消费延迟:
kubectl exec pulsar-toolset-0 -n pulsar – bin/pulsar-admin topics stats persistent://mytenant/mynamespace/mytopic |grep “msgRate”
查看生产/消费订阅积压
kubectl exec pulsar-toolset-0 -n pulsar – bin/pulsar-admin topics stats persistent://mytenant/mynamespace/mytopic |grep “msgBacklog”
tenants
查看所有tenants
kubectl exec pulsar-toolset-0 -n pulsar – bin/pulsar-admin tenants list
查看具体租户
kubectl -n pulsar exec -it pulsar-toolset-0 – bin/pulsar-admin tenants get mytenant
创建tenants
kubectl exec pulsar-toolset-0 -n pulsar – bin/pulsar-admin tenants create mytenant
删除tenants
kubectl exec pulsar-toolset-0 -n pulsar – bin/pulsar-admin tenants delete mytenant
broker
查看存活的broker信息
kubectl exec pulsar-toolset-0 -n pulsar – bin/pulsar-admin brokers list use
查看broke如上的namesapce
kubectl exec pulsar-toolset-0 -n pulsar – bin/pulsar-admin brokers namespaces use --url pulsar-broker.com:8080
查看可以动态更新的配置
kubectl exec pulsar-toolset-0 -n pulsar – bin/pulsar-admin brokers list-dynamic-config
查看已经动态更新过的配置
kubectl exec pulsar-toolset-0 -n pulsar – bin/pulsar-admin brokers get-all-dynamic-config
动态更新配置示例:
kubectl exec pulsar-toolset-0 -n pulsar – bin/pulsar-admin brokers update-dynamic-config brokerShutdownTimeoutMs 100
namespace
查看tenant下的所有namespace
kubectl exec pulsar-toolset-0 -n pulsar – bin/pulsar-admin namespaces list mytenant
创建namespace
kubectl exec pulsar-toolset-0 -n pulsar – bin/pulsar-admin namespaces create mytenant/mynamespace
查看namespace策略
kubectl exec pulsar-toolset-0 -n pulsar – bin/pulsar-admin namespaces policies mytenant/mynamespace
删除namespace
kubectl exec pulsar-toolset-0 -n pulsar – bin/pulsar-admin namespaces delete mytenant/mynamespace