如何在 GCP Cloud 运行 的容器程序中获取 status.podIP?

How do I get the status.podIP within the container program in GCP Cloud Run?

我正在尝试 运行 GCP 云中的容器映像 运行。

技术栈: .NET 6、C#、Orleans.NET、ASP.NET

我的代码需要 podIP 才能正常工作。

这个程序在常规 Kubernetes 集群中正常工作,因为我能够在 deployment.yaml 文件的“env”部分中使用以下配置设置具有分配的 podIP 的环境变量:

  - name: POD_IP
    valueFrom:
      fieldRef:
        fieldPath: status.podIP

当我尝试在 Cloud 运行 yaml 中提供相同内容时,我得到:

当我尝试深入研究 k8s.io.api.core.v1 的文档时,

GCP Documentation - Kubernetes

这是说“云 运行 不支持”。

有什么方法可以在GCP - Cloud 运行的环境变量中设置podIP吗?

Cloud 运行 是一种无服务器产品。作为无服务器产品,您无需管理服务器和网络。因此,请求 podIP 没有任何意义,也没有任何价值(至少,它将是 Google Cloud serverless 网络中的私有 IP)。

所以,答案是“不,你无法获得 podIP”。

但是你为什么需要它?您可以设置一个虚拟值,看看您的容器会发生什么。或者更新您的代码以使该值可选。