👋 欢迎来到吴老二技术博客,专注运维 / 数据库 / 云原生
首页/云原生/正文

kubernetes中针对夸namespace的访问

吴
吴老二
2025-11-27云原生685 次浏览0 条评论

先说一下我的环境和需求,我在kubernetes中部署了一个多主多从的rocketmq的集群,因为我的rocketmq集群属于公用的,所以不但集群外部需要访问,集群内部的也需要访问,针对集群外部访问本地加一下变量到broker的解析就可以了,但是集群内部员本也是想通过内部解析的方式实现的,但是偶尔会有service的ip会有变动,这就需要重新修改解析了,我就想是否有一种方式把变量解析到kubernets的dns上,这样我就不需要担心ip有变动影响到服务使用了.

经过各种网上查找资料发现,可以在当前需要使用到namespace下创建一个变量的service,然后service解析过去,这样就不需要固定ip地址了,下面看一下我的demo.

 cat prod-tps-service.yaml
 apiVersion: v1
 kind: Service
 metadata:
   name: broker-a-link
 spec:
   type: ExternalName
   externalName: broker-a-link.default.svc.cluster.local
 apiVersion: v1
 kind: Service
 metadata:
   name: broker-b-link
 spec:
   type: ExternalName
   externalName: broker-b-link.default.svc.cluster.local

比如我现在namespace为demo下的服务需要用到default下的rocketmq时,我只需要在demo下创建这两个服务即可,

 kubectl get service -n demo
 NAME                 TYPE           CLUSTER-IP       EXTERNAL-IP                                     PORT(S)          AGE
 broker-a-link        ExternalName   <none>           broker-a-link.default.svc.cluster.local   <none>           10m
 broker-b-link        ExternalName   <none>           broker-b-link.default.svc.cluster.local   <none>           9m37s

这样我就不用担心ip变动导致服务不可用的问题,这样既简单又安全,还比较好管理,淡然如果把externalName配置成实际的值也是可以的.

文章底部广告位在后台「广告设置」填写广告代码后显示

评论 0

评论需 登录 后发表(注册并验证邮箱)。
还没有评论,来抢沙发~