0
我正在使用minikube。我有一個名爲updatedaddress的服務。我使用自動注入kubernetes環境變量從updatecustomer服務調用updateaddress服務。Spring Boot無法自動裝入字段Kubernetes SERVICE_HOST
我的Java代碼看起來像這樣
@Value("${UPDATEADDRESS_SERVICE_HOST}")
private String updateAddressHost;
@Value("${UPDATEADDRESS_SERVICE_PORT}")
private String updateAddressPort;
...
greeting= restTemplate.getForEntity("http://"+updateAddressHost+":"+updateAddressPort+"/updateaddress", Greeting.class).getBody();
當我執行以下命令
kubectl --namespace=default-staging exec updatecustomer-4023824433-r5r19 env
我可以看到UPDATEADDRESS_SERVICE_HOST = 10.0.0.180和UPDATEADDRESS_SERVICE_PORT = 80很多其他變量中的環境變量。
當我嘗試建立春天啓動服務,我得到的錯誤
Error creating bean with name 'updateCustomerInfoResilient': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private java.lang.String com.amwater.UpdateCustomerInfoResilient.updateAddressHost; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'UPDATEADDRESS_SERVICE_HOST' in string value "${UPDATEADDRESS_SERVICE_HOST}"
任何意見將是有益的。謝謝 。
謝謝你的迴應。我如何找到服務DNS名稱?我需要爲此設置一個DNS服務器嗎?我正在筆記本電腦上運行minikube。 –
DNS運行kubernetes羣集的一部分。服務和pod名稱會自動註冊到DNS。編輯我的回覆。 – sfgroups