【问题标题】:"pkg/mod/k8s.io/client-go@v0.18.5/tools/cache/reflector.go:125: Failed to list *v1.Service: Unauthorized"“pkg/mod/k8s.io/client-go@v0.18.5/tools/cache/reflector.go:125:无法列出*v1.Service:未经授权”
【发布时间】:2021-05-25 11:55:56
【问题描述】:

我已经在 GKE 上使用 k8s 版本 1.18.12-gke.1206 设置了一个私有集群,并且对集群端点的访问设置为 启用公共端点访问,禁用授权网络。 我正在运行一个入口控制器这个https://kubernetes.github.io/ingress-nginx 类型的集群。它使用 configMap 来存储配置。但不知何故,这个控制器的任何请求都会给出一个未经授权的错误,日志如下:

2021-02-23 11:24:59.435 IST     "pkg/mod/k8s.io/client-go@v0.18.5/tools/cache/reflector.go:125: Failed to list *v1.Endpoints: Unauthorized"
2021-02-23 11:24:45.072 IST     "error retrieving resource lock sb-system/ingress-controller-leader-nginx: Unauthorized"
2021-02-23 11:24:40.727 IST     "pkg/mod/k8s.io/client-go@v0.18.5/tools/cache/reflector.go:125: Failed to list *v1.ConfigMap: Unauthorized"
2021-02-23 11:24:40.132 IST     "pkg/mod/k8s.io/client-go@v0.18.5/tools/cache/reflector.go:125: Failed to list *v1beta1.Ingress: Unauthorized"
2021-02-23 11:24:37.318 IST     "pkg/mod/k8s.io/client-go@v0.18.5/tools/cache/reflector.go:125: Failed to list *v1.Pod: Unauthorized"
2021-02-23 11:24:37.038 IST     "pkg/mod/k8s.io/client-go@v0.18.5/tools/cache/reflector.go:125: Failed to list *v1.Service: Unauthorized"
2021-02-23 11:24:29.891 IST     "error retrieving resource lock sb-system/ingress-controller-leader-nginx: Unauthorized"
2021-02-23 11:24:26.263 IST     "pkg/mod/k8s.io/client-go@v0.18.5/tools/cache/reflector.go:125: Failed to list *v1.Secret: Unauthorized"
2021-02-23 11:24:18.259 IST     "error retrieving resource lock sb-system/ingress-controller-leader-nginx: Unauthorized"
2021-02-23 11:24:09.907 IST     "error retrieving resource lock sb-system/ingress-controller-leader-nginx: Unauthorized"
2021-02-23 11:24:06.612 IST     "pkg/mod/k8s.io/client-go@v0.18.5/tools/cache/reflector.go:125: Failed to list *v1.Endpoints: Unauthorized"
2021-02-23 11:24:02.078 IST     "error retrieving resource lock sb-system/ingress-controller-leader-nginx: Unauthorized"

我们尝试按照提到的步骤here。我们得到了

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   233  100   233    0     0  17282      0 {-:--:-- --:--:-- --:--:--     0
  "kind": "Status",
  "apiVersion": "v1",
  "metadata": {

  },
  "status": "Failure",
  "message": "forbidden: User \"system:anonymous\" cannot get path \"/\"",
  "reason": "Forbidden",
  "details": {

  },
  "code": 403
}--:--:-- --:--:-- --:--:-- 17923

在最后一步是:kubectl exec test -- curl --cacert /var/run/secrets/kubernetes.io/serviceaccount/ca.crt -H "Authorization: Bearer $TOKEN_VALUE" https://10.0.0.1

我是 GCP 和 K8s 的新手,不知道我做错了什么。

【问题讨论】:

    标签: kubernetes google-cloud-platform google-kubernetes-engine nginx-ingress kubernetes-cluster


    【解决方案1】:

    您是否检查过您的 ServiceAccount 上的 automountServiceAccountToken 是否设置为 false?如果是这样,将其设置为 true 可能会有所帮助。

    apiVersion: v1
    kind: ServiceAccount
    metadata:
      name: my-service-account
    automountServiceAccountToken: false # set to true
    

    https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/#use-the-default-service-account-to-access-the-api-server

    【讨论】:

    • 如果我的回答对你有用,请点赞,这样可以帮助其他人。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2019-03-05
    • 2023-03-06
    • 1970-01-01
    • 1970-01-01
    • 2018-06-15
    • 2021-03-05
    • 1970-01-01
    • 2017-01-14
    相关资源
    最近更新 更多