首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kubernetes kube-apiserver to kubelet权限

Kubernetes kube-apiserver to kubelet权限
EN

Stack Overflow用户
提问于 2021-12-25 22:41:59
回答 1查看 301关注 0票数 0

调用时是什么控制权限?

kubectl logs pod-name

我已经尝试过从控制器节点上调用kubelet。

sudo curl -k --key /var/lib/kubernetes/cert-k8s-apiserver-key.pem --cert /var/lib/kubernetes/cert-k8s-apiserver.pem https://worker01:10250/pods

这在Forbidden (user=apiserver, verb=get, resource=nodes, subresource=proxy)中失败了。

我使用管理键和证书尝试了同一个调用,它成功了,并返回了一个健康的JOSN。

我猜这就是为什么kubectl logs pod-name不能工作。

更多的阅读表明,证书的CN决定了经过身份验证和授权的用户。

是什么控制用户是否有权访问kubelet?

背景

我正在使用下面的说明( K8s )设置一个库伯奈特不那么艰难的道路与Ansible集群

EN

回答 1

Stack Overflow用户

发布于 2021-12-26 02:03:00

简短回答

简单地说,您需要通过创建一个apiserver和ClusterRoleBinding来授予用户ClusterRole对资源ClusterRoleBinding的访问权限。

较长解释

库伯内特斯有很多资源。有关的建议如下:

角色和ClusterRoles是相似的,除了ClusterRoles不是名称空间。

ClsuterRole可以与ClusterRoleBinding对象关联(绑定)到用户。

Kubelet提供了一些资源(也许更多)

  • nodes/proxy
  • nodes/stats
  • nodes/log
  • nodes/spec
  • nodes/metrics

要做到这一点,您需要创建一个允许访问节点上的资源和子资源的ClusterRole。

代码语言:javascript
复制
cat <<EOF | kubectl apply -f -
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  annotations:
    rbac.authorization.kubernetes.io/autoupdate: "true"
  labels:
    kubernetes.io/bootstrapping: rbac-defaults
  name: system:kube-apiserver-to-kubelet
rules:
  - apiGroups:
      - ""
    resources:
      - nodes/proxy
      - nodes/stats
      - nodes/log
      - nodes/spec
      - nodes/metrics
    verbs:
      - "*"
EOF

然后将此ClusteRole与用户关联起来。在我的例子中,kube使用的是带有CN=apiserver的证书。

代码语言:javascript
复制
cat <<EOF | kubectl apply --kubeconfig admin.kubeconfig -f -
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: system:kube-apiserver
  namespace: ""
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: system:kube-apiserver-to-kubelet
subjects:
  - apiGroup: rbac.authorization.k8s.io
    kind: User
    name: apiserver
EOF
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70483191

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档