gpt4 book ai didi

kubernetes - 有没有办法找到与 serviceAccount 相关的 RoleBinding/ClusterRoleBinding?

转载 作者:行者123 更新时间:2023-12-03 16:26:44 25 4
gpt4 key购买 nike

在 kubernetes 中,有没有办法找到 RoleBinding/ClusterRoleBinding与 serviceAccount 相关而不遍历所有绑定(bind)?

这在尝试解决与 Pod 用于请求 APIServer 的身份验证相关的问题时非常有用。

最佳答案

如前所述,使用 kubectl 没有简单的方法可以做到这一点。但它在技术上得到支持。您可以传递自定义列来控制生成的 STDOUT 以生成您感兴趣的信息。然后您可以指定 -A搜索所有命名空间的参数或使用 -n specificNamespace争论。最后,您可以grep命令的结果 STDOUT 以在必要时对其进行相应的过滤。

例如,如果我从 kubernetes-dashboard 中获取所有绑定(bind)。我可以运行这个命令:

$> kubectl get rolebindings,clusterrolebindings \
-n kubernetes-dashboard \
-o custom-columns='KIND:kind,NAMESPACE:metadata.namespace,NAME:metadata.name,SERVICE_ACCOUNTS:subjects[?(@.kind=="ServiceAccount")].name' | wc -l
64


如您所见,我将其通过管道传输到 wc因为返回了 60 多个结果,并且在 StackOverflow 上发布会很糟糕。但是,如果您使用 grep相反,您可以轻松检索更精细的结果。例如,这个经过调整的命令显示 tj 有一个 CRB。 ServiceAccount 资源。
$> kubectl get rolebindings,clusterrolebindings \
-n kubernetes-dashboard \
-o custom-columns='KIND:kind,NAMESPACE:metadata.namespace,NAME:metadata.name,SERVICE_ACCOUNTS:subjects[?(@.kind=="ServiceAccount")].name' | grep tj
ClusterRoleBinding <none> tj tj

然后,您可以设置一个 shell 别名来简化这一过程:
$> alias getbindings="kubectl get rolebindings,clusterrolebindings   -n kubernetes-dashboard    -o custom-columns='KIND:kind,NAMESPACE:metadata.namespace,NAME:metadata.name,SERVICE_ACCOUNTS:subjects[?(@.kind==\"ServiceAccount\")].name' | grep"
$> getbindings tj
ClusterRoleBinding <none> tj tj

或者,您甚至可以将其变成一个接受两个参数的函数,一个命名空间和一个 ServiceAccount。然后有效地为您提出的功能请求创建您自己的解决方案。例如:
$> tail -n 6 ~/.bashrc
function get_bindings(){

kubectl get rolebindings,clusterrolebindings \
-n $1 \
-o custom-columns='KIND:kind,NAMESPACE:metadata.namespace,NAME:metadata.name,SERVICE_ACCOUNTS:subjects[?(@.kind=="ServiceAccount")].name' | grep $2
}
$> get_bindings "kubernetes-dashboard" "tj"
ClusterRoleBinding <none> tj tj

希望这可以帮助。

关于kubernetes - 有没有办法找到与 serviceAccount 相关的 RoleBinding/ClusterRoleBinding?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46482455/

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