我有3个kubernetes服务:
service 1:
name: abc
service 2:
name: def
service 3:
name: hgk
在服务1上运行的应用程序中,我成功使用环境变量来获取其他服务的集群IP。
System.getenv(DEF_SERVICE_HOST); --> success
System.getenv(HGK_SERVICE_HOST); --> success
但是,当我调用服务1的environemnet时,它返回null
System.get(ABC_SERVICE_HOST); ---> null
看起来它无法获得自己的群集IP。
你们有什么想法吗? 非常感谢你!
答案 0 :(得分:1)
在pod中填充的唯一服务环境变量是在创建pod之前存在的服务。环境变量一旦启动就不会注入到运行的pod中。
我猜你在创建abc
服务之前创建了abc
复制控制器/ pod。如果您终止现有的pod并让它们重新创建,则应该设置ABC_SERVICE_HOST环境变量。