【问题标题】:Is there a way to forward authorization header through the Kubernetes API server proxy?有没有办法通过 Kubernetes API 服务器代理转发授权标头?
【发布时间】:2020-12-12 21:22:17
【问题描述】:

我的 Kubernetes 集群内的 pod 上运行了一些端点,该端点由基本身份验证保护。通过 API 服务器访问这个 pod 的正常方式是:

https://{{ apiServer }}:{{ apiServerPort }}/api/v1/namespaces/{{ namespaceName }}/pods/{{ podName }}:{{ podPort }}/proxy/somepath

这适用于未使用基本身份验证保护的端点,但是在尝试访问安全端点时,我每次都会收到 403 Forbidden,因为我无法指定两个身份验证标头,并且我已经需要通过 API 对自己进行身份验证服务器本身。 是否可以将这些基本身份验证凭据转发到 pod,或者我是否使用 API 服务器代理不走运?

【问题讨论】:

  • 您会考虑使用 sidecar 容器的解决方案吗?
  • 我更喜欢没有它的,但它如何与边车容器一起使用?
  • 您好,您找到解决方案了吗?

标签: kubernetes openshift kubernetes-pod


【解决方案1】:

我能想到的可行解决方案是使用kubectl port-forward。因此,Kubernetes API 服务器将在您的 localhost 和集群上运行的资源之间建立一个单一的 http 连接。这将保留您的所有客户请求。

kubectl port-forward TYPE/NAME [options] LOCAL_PORT:REMOTE_PORT

您可以将流量发送到特定的 Pod,使用随机的本地端口,甚至指定本地 IP 地址用于转发。

您可以阅读更多关于端口转发here 并查看官方 kuberentes 文档中的this 示例。

如果您想要一些替代方案,请查看telepresence

附言。我尝试使用带有 kubectl 代理的 sidecar 容器,但不幸的是它不起作用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-07
    • 1970-01-01
    • 2021-03-11
    • 2015-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多