![](/img/trans.png)
[英]Kubernetes : How to assign static IP address or HostName to node and POD
[英]How to set a kubernetes pod's hostname to its IP address?
因此,我有一個部署,該部署創建了N個工作人員Pod,並且提供了一種在內部平衡流量的服務。 我從VM訪問服務。 VM發出請求,然后Pod用其主機名進行響應,以便VM可以與其直接建立連接(用於將結果從實際完成工作的Pod中拉回)。
我遇到的問題是,我的Pod返回的主機名是my-pod-5ff75ddd86-2xdjq,VM無法解析該主機名。 我想知道是否可以將Pod的主機名設置為其IP,因為這意味着我不必更改Pod或VM中運行的工具的任何代碼。
如果您不想更改代碼,則需要公開群集的內部kube-dns
,並將其設置為VM的默認DNS服務器。
關於另一個問題有一些信息
在nginx-controller文檔上,您有一個很好的示例,公開了UDP上的53端口
https://kubernetes.github.io/ingress-nginx/user-guide/exposing-tcp-udp-services/
通過啟動並運行nginx-controller,您必須正確創建一個供該控制器使用的入口,並只需添加以下configMap
:
apiVersion: v1
kind: ConfigMap
metadata:
name: udp-services
namespace: ingress-nginx
data:
53: "kube-system/kube-dns:53"
根據您的群集設置,您的VM可能甚至無法使用其IP連接到Pod。 默認情況下,pod IP位於覆蓋網絡上,該網絡只能通過集群內部的形式訪問。
如果VM在群集中,您確定針對kube DNS正確引用了pods主機名嗎? 這是有關Pod的DNS的文檔 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.