k8s隨筆 – service name的約束
公司的服務間呼叫是基於domain互相呼叫的,並且每個domain前面有4層負載,沒有使用服務註冊框架。
在切換到K8S方案後仍舊希望保持按domain互相呼叫,因此運維提出為每個服務建立一個service,其name設定為domain,這樣服務間就可以用service name互相呼叫了。
在K8S中,service name會被追加上名稱空間,然後註冊到coredns作為內部domain存在。
比如:建立在default名稱空間下的service叫做test,那麼coredns就會註冊domain: test.default.svc.cluster.global。
當容器解析test的時候,coredns會返回對應的service Cluster IP。
但在實踐過程中發現,K8S是禁止service name中出現.字元的,這與上述coredns域名生成規範密不可分,所以該方案是不可行的。
博主無私的分享著知識,你願意送他一頓熱騰騰的早餐嗎?
