城市直播房产教育博客汽车
投稿投诉
汽车报价
买车新车
博客专栏
专题精品
教育留学
高考读书
房产家居
彩票视频
直播黑猫
投资微博
城市上海
政务旅游

ApachePulsar学习笔记16租户命名空间创建,用户T

5月17日 皇极城投稿
  前面我们使用Helm在Kubernetes中部署了生产可用的Pulsar集群,并将集群接入到Prometheus监控系统。
  作为Pulsar集群的管理员,将这套生产可用的Pulsar集群交付给开发使用时,还需要做好租户和命名空间划分和创建,用户角色和权限配置。本节将根据实践介绍一下Pulsar集群管理员如何做这些工作的。
  我们部署Pulsar集群时开启了基于非对称秘钥(asymmetric)的JWT认证,需要使用私钥为客户端应用的普通用户创建Token,将Token分发给客户端应用。Pulsar的权限统一在命名空间级别进行管理,在为普通用户创建好Token后,需要在命名空间的级别上对用户角色进行授权。JWTToken管理
  pulsarmanager中提供了一个token管理的页面,但是Pulsar官方的HelmChart部署的pulsarmanager,目前还不支持开启了非对称秘钥(asymmetric)的JWT认证的pulsar集群。如果尝试在这个页面创建token的话,会报错。这是因为需要在pulsarmanager的配置application。properties中设置:jwt。broker。token。modePRIVATEjwt。broker。public。keyfile:pathbrokerpublic。keyjwt。broker。private。keyfile:pathbrokerprivate。key
  而当前2。7。13版本的pulsarhelmchart还不支持对这个配置文件进行定制,同时也不支持以PRIVATEKEY环境变量的形式进行配置。
  在部署pulsar时,用于创建和验证token的非对称密钥对,以名称为pulsartokenasymmetrickeySecret被创建到了K8S中。因此,可以放弃使用pulsarmanager来管理token,改使用pulsar命令行工具的形式。使用pulsarhelmchart部署pulsar时,为我们在k8s集群中部署了SatefulSetpulsartoolset的Pod,这个里面提供了用于管理pulsar的命令行空间pulsar和pulsaradmin等,但遗憾的是并没有将Secretpulsartokenasymmetrickey中的PRIVATE私钥以文件的形式挂载到Pod中,同时pulsarhelmchart当前也不支持这块的定制配置。
  只好再手动部署一个pulsaradmintoolset,通过手动编写一个k8sdeployment的manifest文件来部署pulsaradmintoolset,并将pulsartokenasymmetrickey私钥挂载到Pod中。kind:DeploymentapiVersion:appsv1metadata:name:pulsaradmintoolsetnamespace:pulsarspec:replicas:1selector:matchLabels:app:pulsarcomponent:admintoolsetrelease:pulsartemplate:metadata:labels:app:pulsarcluster:pulsarcomponent:admintoolsetrelease:pulsarspec:volumes:name:tokenprivatekeysecret:secretName:pulsartokenasymmetrickeyitems:key:PRIVATEKEYpath:private。keydefaultMode:420name:clienttokensecret:secretName:pulsartokenadminitems:key:TOKENpath:clienttokendefaultMode:420containers:name:pulsartoolsetimage:harbor。example。comlibraryapachepulsarpulsarall:2。7。4command:shcargs:binapplyconfigfromenv。pyconfclient。binapplyconfigfromenv。pyconfbookkeeper。sleep10000000000envFrom:configMapRef:name:pulsartoolsetresources:limits:cpu:2memory:1Girequests:cpu:100mmemory:256MivolumeMounts:name:tokenprivatekeyreadOnly:truemountPath:pulsartokenprivatekeyname:clienttokenreadOnly:truemountPath:pulsartokensimagePullPolicy:IfNotPresentnodeSelector:noderole。kubernetes。iopulsar:pulsarsecurityContext:{}imagePullSecrets:name:regsecrettolerations:key:dedicatedoperator:Equalvalue:pulsareffect:NoSchedule
  私钥被以文件pulsartokenprivatekeyprivate。key的形式挂载到了POD的容器中,这样集群管理员就可以进入到容器中执行下面的命令创建Token:binpulsartokenscreateprivatekeyfile:pulsartokenprivatekeyprivate。keysubjectuserrolename
  binpulsrtokenscreate命令的具体参数如下:createCreateanewtokenUsage:create〔options〕Options:e,expirytimeRelativeexpirytimeforthetoken(eg:1h,3d,10y)。(mminutes)Default:noexpirationpk,privatekeyPasstheprivatekeyforsigningthetoken。Thiscaneitherbe:data:,file:,etc。。sk,secretkeyPassthesecretkeyforsigningthetoken。Thiscaneitherbe:data:,file:,etc。。a,signaturealgorithmThesignaturealgorithmforthenewkeypair。Default:RS256PossibleValues:〔NONE,HS256,HS384,HS512,RS256,RS384,RS512,ES256,ES384,ES512,PS256,PS384,PS512〕s,subjectSpecifythesubjectorprincipalassociatewiththistoken
  注意,可以使用e指定token失效时间,但一般为应用创建的token会设置为永久有效,但如果设置了永久有效,则分发出去的某个用户角色(subject)的token是无法撤回的。如果确实需要撤回,则只能将这个用户角色(subject)在pulsar相关租户和命名空间中的权限删除,这样这个token虽然还是可以通过认证,但是却无权进行相关操作了。授权管理
  解决了Token创建的问题,来看一下授权管理,Pulsar的权限统一在命名空间级别进行管理,在为普通用户创建好Token后,需要在命名空间的级别上对用户角色进行授权。
  例如,我们使用下面的命令为用户角色foo创建了token。binpulsartokenscreateprivatekeyfile:pulsartokenprivatekeyprivate。keysubject
  可以使用下面的命令为用户角色foo进行授权:binpulsaradminnamespacesgrantpermissiontenant1namespace1actionsproduce,consumerolefoo
  这样用户角色foo就在tenant1namespace1这个命名空间下具有produce和consume的权限了,客户端应用程序可以使用foo的token访问这个命名空间下的topic。
  可以使用下面的命令查看命名空间下的所有授权:binpulsaradminnamespacespermissionstenant1namespace1
  可以使用下面的命令收回某个用户角色在某个命名空间下的授权:binpulsaradminnamespacesrevokepermissiontenant1namespace1rolefoo
  除了使用pulsaradmin外,还可以在pulsarmanager中的namespace管理页面中的POLICES中配置授权。参考https:pulsar。apache。orgdocsenadministrationpulsarmanager
投诉 评论 转载

ApachePulsar学习笔记16租户命名空间创建,用户T前面我们使用Helm在Kubernetes中部署了生产可用的Pulsar集群,并将集群接入到Prometheus监控系统。作为Pulsar集群的管理员,将这套生产可用的P……台积电南京设厂,新华社发文背书,为什么?你们支持吗?最近台积电南京扩产,很多人奇怪我们为什么不扶持中芯国际,而是放狼进来。尤其此事还惊动了新华社发文背书,为什么?首先,我相信国家,信任我们的决策层。基于这种信任……多款新能源新车开年集中上市【高质量能源内容,点击右上角加关注】1月5日,多款新能源新车同日上市。其中,2022款欧拉黑猫新推3款车型,售价6。98万8。13万元,2022款欧拉白猫新推2款车型,售……如何用区块链技术挖煤示范基地来了日前,国能网信科技(北京)有限公司信息公司区块链创新中心入选中关村智联软件服务业质量创新联盟2021年度区块链应用示范基地。国能网信科技(北京)有限公司为国家能源集团下属……暴跌1600元,6400万四摄无线充电128GB,友商高素质现在手机圈的竞争非常激烈,纵观整个手机市场,哪怕就是2021年上半年发布的新款5G手机,许多都出现了明显的价格跳水。随着新品的不断涌现,许多老款高素质手机也开启了大降价清仓模式……车规级半导体卡脖子的思考中国新能源汽车产能大约是560万辆,全年生产量是330万辆左右,产能利用率百分之58,在世界车企都缺芯的影响下,车企在减产或者各别车企短期停产应对缺芯问题。国内车规级半导……国美苏宁与京东的战斗商场就是战场,在我看来商场的战斗本质应该为社会做出贡献,创造价值,为用户提供极致的产品体验,服务体验。这样的战斗才是有价值的。零售业是充分竞争行业,从改革开放开始,就涌现……iPhoneSE3将于3月8日发布共有三款目前产业链以及苹果确认,3月8日将会发布最新的iPhoneSE3手机,这也是苹果最便宜的5G手机,富士康等工厂在正月初四就已经开始了加班,iPhoneSE3手机已经量产了将近两……人民会客厅聚焦自动驾驶下半场共谋未来出行新趋势来源:人民网原创稿人民网北京12月12日电(记者栗翘楚)自动驾驶离公众的生活渐行渐近。11月25日,北京正式开放国内首个自动驾驶出行服务商业化试点。消费者可以在北京经济技……芯片厂商造手机,高通发布售价近万元机型近日,手机处理器大厂,高通正式发布了一款自家品牌手机,该款机型发布后,可谓引起了手机市场巨大波动。不少业内人士认为,此举似乎和微软发布suface系列硬件产品一样,很有可能会影……小米投资中蓝电子,后者为摄像头配件研发商新京报贝壳财经讯企查查APP显示,12月9日,辽宁中蓝电子科技有限公司发生工商变更,新增湖北小米长江产业基金合伙企业(有限合伙)为股东,同时公司注册资本由1。14亿元人民币增加……vivo双折式手机专利获批展开8吋屏幕还带光敏投影虚拟键盘国内手机厂商vivo正在积极可折叠手机。在去年带手写笔的可折叠手机获批之后,近日又一款带光敏投影虚拟键盘的双折式智能手机专利获批。该专利只是简单的叫做终端设备,于今年6月29日……
Redmi的老对手回归,魅蓝即将重出江湖,红蓝大战再次上演?苹果重磅新品即将亮相?混合现实头戴设备已对内展示苹果ARVR眼镜交互方式大猜想2021125日对于老人来说,智能手机到底意味着什么?电脑变慢系统自检功能轻松查明原因小白都能理解的2点技术中消协独立站跨境电商费维权成本高难度大最便宜的3款12GB256GB手机,优缺点不同,价格都在20二度来台英特尔CEO将访台积电如果你有能够帮助支付宝快速发展的办法,该如何提供给支付宝?Go1。18新特性多模块工作区教程iPhone13首批真机上手!博主发现主摄有灰尘,全网首摔也
浅谈求变与守旧爱哭的妹妹思念华泰证券中资美元债市场有韧性多重积极因素提振信心快雨快言快刀寒未来的手机想象作文李斯是怎么被害死的?李斯死后被埋在了哪里?不一定是你生的元音音素有哪些(26个字母元音音素分类表)科三项目再多也不难,练一天一把通过,无非。。。狗狗食欲不振怎么办重磅!武西高铁孝感南站获批

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找江西南阳嘉兴昆明铜陵滨州广东西昌常德梅州兰州阳江运城金华广西萍乡大理重庆诸暨泉州安庆南充武汉辽宁