【问题标题】:Kubernetes RBAC - user has access to get pods but it says 'Unauthorized'Kubernetes RBAC - 用户有权获取 pod,但显示“未经授权”
【发布时间】:2020-07-23 00:02:37
【问题描述】:

我已经为 Kubernetes RBAC 配置了 keycloak。

  • 有权获取 pod 的用户
vagrant@haproxy:~/.kube$ kubectl auth can-i get pods --user=oidc
Warning: the server doesn't have a resource type 'pods'
yes
vagrant@haproxy:~/.kube$ kubectl get pods --user=oidc
error: You must be logged in to the server (Unauthorized)

我的用户 kubeconfig 文件如下所示

users:
- name: oidc
  user:
    exec:
      apiVersion: client.authentication.k8s.io/v1beta1
      args:
      - oidc-login
      - get-token
      - --oidc-issuer-url=https://test.example.com/auth/realms/kubernetes
      - --oidc-client-id=kubernetes
      - --oidc-client-secret=e479f74d-d9fd-415b-b1db-fd7946d3ad90
      - --username=test
      - --grant-type=authcode-keyboard
      command: kubectl

有没有办法让它工作?

【问题讨论】:

  • oidc 的 kube API Server 配置完成了吗?
  • 是的,我已经完成了,甚至已经应用了集群角色和绑定
  • 你能分享来自 Kubernetes API Server 的错误日志吗?你也安装了 Kubelogin 吗?
  • E0410 09:15:17.480771 1 watcher.go:214] watch chan error: etcdserver: mvcc: required revision has been compacted E0410 09:23:37.507506 1 watcher.go:214] watch chan error: etcdserver: mvcc: required revision has been compacted E0410 09:38:52.523489 1 watcher.go:214] watch chan error: etcdserver: mvcc: required revision has been compacted E0410 09:49:39.625155 1 watcher.go:214] watch chan error: etcdserver: mvcc: required revision has been compacted E0410 09:58:04.676751 1 watcher.go:214] watch chan error: etcdserver: mvcc: required revision
  • @ArghyaSadhu 这些是来自 kube-apiserver 的最新日志

标签: kubernetes keycloak rbac


【解决方案1】:

问题在于集群的 IP 地址。如果是 IP 地址,您可能必须配置 DNS 名称。

【讨论】:

    猜你喜欢
    • 2019-01-10
    • 2020-05-24
    • 2021-01-09
    • 2019-08-13
    • 1970-01-01
    • 2018-06-15
    • 1970-01-01
    • 2017-05-29
    • 2019-10-13
    相关资源
    最近更新 更多