【问题标题】:kubernetes authentication issue on httpd podhttpd pod上的kubernetes身份验证问题
【发布时间】:2021-03-11 17:36:03
【问题描述】:

在尝试访问 httpd pod 的网络时继续获取此信息,我缺少什么权限。

{
  "kind": "Status",
  "apiVersion": "v1",
  "metadata": {
    
  },
  "status": "Failure",
  "message": "pods \"pod-httpd\" is forbidden: User \"system:anonymous\" cannot get resource \"pods\" in API group \"\" in the namespace \"default\"",
  "reason": "Forbidden",
  "details": {
    "name": "pod-httpd",
    "kind": "pods"
  },
  "code": 403
}

【问题讨论】:

  • 这能回答你的问题吗? kubernetes api access forbidden
  • @PeterBadida 这是一个不同的问题。另一个请求发送到 api 服务器。这个去一个随机的吊舱。
  • 你是如何部署你的 pod 的?以及如何以及在哪里提出请求?
  • @suren 虽然解决方案相同 :)
  • @PeterBadida 好吧,他发送的请求是错误的。他是针对 master 的 IP 地址发送它,而不是直接发送 pod。但他不需要解决这个问题。只需发送请求即可。

标签: kubernetes


【解决方案1】:

错误很明显 User "system:anonymous" 意味着 k8s 将您识别为 anonymous 用户,这就是为什么它给出了访问所需资源的禁止理由。
因此,当您执行 curl https://<ip>:<port>/<endpoint> 时,您正在使用 TLS 进行通信。在这种类型的通信中,您需要提供您的 CA(证书颁发机构,谁签署了您的证书)证书,以及您的证书和 curl 的密钥,如下所示,因为在 TLS 服务器客户端中需要验证。

curl https://<ip>:<port>/<endpoint> --key <your_key> --cert <your_cert>  --cacert <ca_cert>

注意:这里you 表示客户端

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-17
    • 1970-01-01
    • 2018-08-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多