我可以在 pod 中访问 VM 的 IP 吗?

Can I access VM's IP inside pod?

我已经在我的虚拟机上安装了 kubernetes。我 运行 我在 kubernetes 上的 pod 中的应用程序。

现在我想在我的应用程序中获取虚拟机的 IP 地址,该应用程序位于 pod 内 运行ning。 有什么办法吗?

是的,可以从特定节点上的 pod 运行 获取主机 ip 和主机名。使用以下变量获取这些值

spec.nodeName - the name of the node to which the scheduler always attempts to schedule the pod
status.hostIP - the IP of the node to which the Pod is assigned

关注 link 会有所帮助 --> https://kubernetes.io/docs/tasks/inject-data-application/downward-api-volume-expose-pod-information/

获取主机 IP 的方法如下:

apiVersion: v1
kind: Pod
metadata:
  name: busybox
spec:
  restartPolicy: Never
  containers:
  - name: busybox
    image: busybox
    command: ["ash","-c","echo $MY_HOST_IP && sleep 3600"]
    env:
    - name: MY_HOST_IP
      valueFrom:
        fieldRef:
          fieldPath: status.hostIP

kubectl logs busybox 将为您打印 IP。