RBAC规则是否适用于豆荚?

问题描述 投票:0回答:1

我具有以下pod定义,(请注意明确设置的服务帐户秘密):

apiVersion: v1
kind: Pod
metadata:
  name: pod-service-account-example
  labels:
    name: pod-service-account-example
spec:
  serviceAccountName: example-sa
  containers:
  - name: busybox
    image: busybox:latest
    command: ["sleep", "10000000"]
    env:
      - name: SECRET_KEY
        valueFrom:
          secretKeyRef:
            name: example-secret
            key: secret-key-123

它成功运行。但是,如果我使用相同的服务帐户example-sa,并尝试检索example-secret,它将失败:

kubectl get secret example-secret
Error from server (Forbidden): secrets "example-secret" is forbidden: User "system:serviceaccount:default:example-sa" cannot get resource "secrets" in API group "" in the namespace "default"

RBAC是否不申请豆荚?为何连吊舱都无法检索秘密?

kubernetes rbac
1个回答
0
投票

RBAC适用于服务帐户,组,用户而不是Pod。当您在Pod的环境中引用机密时,不会使用服务帐户来获取机密。Kubelet正在使用其自己的kubernetes客户端来获取机密。凭据。由于kubelet使用自己的凭据来获取机密,因此服务帐户是否具有RBAC来获取机密无关紧要,因为它未被使用。

当您要使用kubernetes标准客户端库或Kubectl从pod调用Kubernetes API时,将使用服务帐户。>>Code snippet供参考。

© www.soinside.com 2019 - 2024. All rights reserved.