场景:在k8s集群中布署应用,nacos服务布署在其它外部服务器上,应用在注册时上报给nacos服务的ip是虚拟ip,此时可指定本机ip与port地址。

在springboot项目的配置文件bootstrap.properties里添加

spring.cloud.nacos.discovery.ip=192.168.0.1
spring.cloud.nacos.discovery.port=8766

这样注册到nacos里的ip与port就被手动指定好了。
分享一个k8s通过api获取本node ip的方法。
在k8s.yaml中配置环境变量:

env:
  - name: NODE_IP   //此配置项通过k8s自带的 downward Api获取节点的Ip
          valueFrom:
            fieldRef:
              fieldPath: status.hostIP

此时在本node中就可以用NODE_IP 做为环境变量 配置到项目文件bootstrap.properties中:
如:

spring.cloud.nacos.discovery.ip=${NODE_IP}
Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐