gpt4 book ai didi

go - Kubernetes 集群权限,用于观察部署不接收事件

转载 作者:行者123 更新时间:2023-12-01 22:12:39 24 4
gpt4 key购买 nike

我有以下配置

apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
name: deploy-agent-rbac
subjects:
- kind: ServiceAccount
name: deploy-agent
namespace: ais-service
roleRef:
kind: ClusterRole
name: cluster-admin
apiGroup: rbac.authorization.k8s.io

---

apiVersion: v1
kind: ServiceAccount
metadata:
name: deploy-agent
annotations:
eks.amazonaws.com/role-arn: arn:aws:iam::<ACCOUNT_ID>:role/pod-identity-role
我正在使用 Golang Kubernetes API 来监视事件,如下所示:
watch, err := k.client.CoreV1().Pods(namespace).Watch(metav1.ListOptions{
LabelSelector: fmt.Sprintf("service=%s", target),
})
但是,当我使用正确的给定标签更新/删除该命名空间中的 pod 时,它不会显示任何事件。但是,当我在本地运行相同的代码时,它确实如此。我怀疑用于我的本地环境的角色如何正确的权限,但我正在运行我的服务的命名空间没有。
当我运行 $ kubectl auth can-i watch deployments --namespace default --as cluster-admin ,我得到“不”。

最佳答案

ClusterRoleBindingais-service 中的服务帐户命名空间,但服务帐户没有命名空间,这意味着服务帐户是在 default 中创建的命名空间。在 serviceaccount 中添加命名空间

apiVersion: v1
kind: ServiceAccount
metadata:
name: deploy-agent
namespace: ais-service
annotations:
eks.amazonaws.com/role-arn: arn:aws:iam::<ACCOUNT_ID>:role/pod-identity-role
要验证权限,请运行以下命令
kubectl auth can-i list deployments --as=system:serviceaccount:ais-service:deploy-agent -n ais-service

关于go - Kubernetes 集群权限,用于观察部署不接收事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62565823/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com