总结:
工作负载类型是StatefulSet的pod,不论其上层的service是nodeport还是Headless, 对外提供的地址格式是:
虽然在pod中ping其他pod的service也能ping通,但是配置文件中写service的话却无法连接。
1.nacos
nacos的工作负载类型是StatefulSet,pod+nodeport,对外连接使用的地址是:nacos-0.nacos:8848
nacos里添加的配置文件参数写法:
2.mysql
mysql的工作负载类型是StatefulSet,pod+Headless,对外连接使用的地址是:saber-db-0.saber-db:3306
3.redis
redis的工作负载类型是StatefulSet,pod+Headless,对外连接使用的地址是:redis-0.redis:6379
4.假设的一个springcloud框架中的一个模块,使用nacos作为配置和注册中心
先添加一个ConfigMap,具体内容如下:
然后在添加设置应用的时候,环境变量选择上一步创建的ConfigMap,配置,配置字典引用
然后命令/参数中的参数设置如下:
--spring.profiles.active=${PROFILE} --spring.cloud.nacos.config.server-addr=${NACOS_SERVER_ADDR} --spring.cloud.nacos.discovery.server-addr=${NACOS_SERVER_ADDR} --spring.cloud.sentinel.transport.dashboard=${SENTINEL_DASHBOARD_ADDR} --server.port=80
参数中变量会从设置的环境变量中取,环境变量中的参数是从ConfigMap中设置来的。
之所以这样设置,后期修改配置的话,只需要修改ConfigMap就可以了,命令/参数中的参数就没必要修改,除非有新增的环境变量,命令/参数中的参数需要使用
不是直接在命令/参数中的参数中直接设置,比如,设置成spring.profiles.active=test
使用kuboard界面配置springcloud的其中一个模块设置环境变量,使用nacos配置地址等有关设置
原文:https://www.cnblogs.com/sanduzxcvbnm/p/14932097.html