【问题标题】:Accessing pod port via kubernetes API proxy seems to no longer work in GKE通过 kubernetes API 代理访问 pod 端口似乎不再适用于 GKE
【发布时间】:2022-01-05 19:27:24
【问题描述】:

几个月前,我能够使用 url 访问我的 pod 上的端口 /api/v1/namespaces/namespace/pods/podname:port/proxy/path/

但在升级 GKE 后,我一直收到 400 Bad Request,没有进一步的解释。同样的方法仍然适用于 Docker Desktop、Azure AKS 和 Amazon EKS。

其他 api 调用似乎工作正常,例如 /api/v1/namespaces/namespace/secrets

有人遇到过同样的问题并有解决方案吗?

【问题讨论】:

    标签: kubernetes proxy google-kubernetes-engine kubernetes-pod


    【解决方案1】:

    API 端点应该是/api/v1/namespaces/{namespace}/pods/{name}/proxy/{path}port 不应包含在 URL 中。

    您可能还想检查 podname。升级后名称可能已更改,因为它是重新部署。

    【讨论】:

    • 1.几个月前这曾经在 GKE 中工作过 2. 根据文档,协议和端口都是 URL 的可选部分:“: - 使用 http 代理到指定的端口名称或端口号”:@ 987654321@
    • 关于更改的 pod 名称:pod 名称来自于在构造 URL 之前列出 pod 的 API 调用。我可以用其他工具看到 pod 仍然存在
    • 在您的第一条评论中,您提到了“:”,它用于服务而不是 Pod。您想要 pod 或服务吗?
    • 文档中的 sn-p 仅表示服务,但该语法也适用于 pod。 Docker Desktop (Mac)、Azure AKS、Amazon EKS 的 kubernetes 就是这种情况,几个月前 GKE 也是如此。
    猜你喜欢
    • 2018-12-08
    • 2019-01-28
    • 1970-01-01
    • 2019-10-14
    • 2017-11-13
    • 2018-05-07
    • 2022-01-15
    • 1970-01-01
    • 2021-07-14
    相关资源
    最近更新 更多