Kubernetes将Helm 3安装到特定命名空间的权限

Kubernetes将Helm 3安装到特定命名空间的权限,kubernetes,permissions,continuous-integration,Kubernetes,Permissions,Continuous Integration,我正在尝试设置一个用户,该用户将有权在特定的命名空间中使用Helm 3进行安装。(适用于我的CI/CD系统。) 例如,如果用户尝试使用--namespace=dev运行helm升级--install,那么它工作正常。但是如果他们尝试--namespace=test,就会失败 但我发现我自己被这些选择淹没了。创建角色时,必须选择apiGroups、资源和动词。我看到一个名为部署的资源,但我已经了解到还需要秘密访问。我在谷歌上搜索过,但大多数点击都是关于配置头盔2(带舵柄) 使用Helm 3安装所需

我正在尝试设置一个用户,该用户将有权在特定的命名空间中使用Helm 3进行安装。(适用于我的CI/CD系统。)

例如,如果用户尝试使用
--namespace=dev
运行
helm升级--install
,那么它工作正常。但是如果他们尝试
--namespace=test
,就会失败

但我发现我自己被这些选择淹没了。创建角色时,必须选择
apiGroups
资源
动词
。我看到一个名为
部署
的资源,但我已经了解到还需要秘密访问。我在谷歌上搜索过,但大多数点击都是关于配置头盔2(带舵柄)


使用Helm 3安装所需的最低Kubernetes权限是多少?

在Kubernetes中,最佳做法是确保您的应用程序在您指定的范围内运行,这就是为什么您必须将角色授予用户或特定于应用程序的服务帐户的原因。阅读有关服务帐户权限的详细信息

要限制用户对特定命名空间的访问,可以使用
编辑
管理员
角色。如果图表创建角色和角色索引或与之交互,则需要使用
admin
ClusterRole

此外,您还可以使用
cluster admin
access创建角色绑定。在名称空间范围内授予用户
集群管理员
访问权限可以完全控制名称空间中的每个资源,包括名称空间本身

对于本例,我们将创建一个具有
edit
角色的用户。首先,创建名称空间:

$ kubectl create namespace your-namespace

现在,在该名称空间中创建RoleBinding,授予用户
edit
角色

$ kubectl create rolebinding steve-edit
    --clusterrole edit \​
    --user steve \​
    --namespace your-namespace
此命令将创建rolebinding
steve edit
。此角色绑定将clusterrole
edit
中定义的权限授予命名空间
您的命名空间的用户
steve

Edit
是默认的clusterrole,它允许对命名空间中的大多数对象进行读/写访问。它不允许查看或修改角色或角色绑定

看一看:

阅读有关clusterroles:

您还可以在集群范围内授予特定的用户读/写访问权限,这样您就可以在任何名称空间中安装helm。您必须授予用户
admin
cluster admin
访问权限


阅读此处的更多信息:。

在Kubernetes中,最佳做法是确保您的应用程序在您指定的范围内运行,这就是为什么您必须将角色授予用户或特定于应用程序的服务帐户。阅读有关服务帐户权限的详细信息

要限制用户对特定命名空间的访问,可以使用
编辑
管理员
角色。如果图表创建角色和角色索引或与之交互,则需要使用
admin
ClusterRole

此外,您还可以使用
cluster admin
access创建角色绑定。在名称空间范围内授予用户
集群管理员
访问权限可以完全控制名称空间中的每个资源,包括名称空间本身

对于本例,我们将创建一个具有
edit
角色的用户。首先,创建名称空间:

$ kubectl create namespace your-namespace

现在,在该名称空间中创建RoleBinding,授予用户
edit
角色

$ kubectl create rolebinding steve-edit
    --clusterrole edit \​
    --user steve \​
    --namespace your-namespace
此命令将创建rolebinding
steve edit
。此角色绑定将clusterrole
edit
中定义的权限授予命名空间
您的命名空间的用户
steve

Edit
是默认的clusterrole,它允许对命名空间中的大多数对象进行读/写访问。它不允许查看或修改角色或角色绑定

看一看:

阅读有关clusterroles:

您还可以在集群范围内授予特定的用户读/写访问权限,这样您就可以在任何名称空间中安装helm。您必须授予用户
admin
cluster admin
访问权限


请在此处阅读更多信息:。

因此,这实际上取决于你的掌舵图对库伯内特斯的影响。如果您正在更改角色等,您需要
管理员
群集管理员
,但如果不需要,您可能只需要
编辑
。谢谢你的精彩回答!而且,我没有意识到集群角色只能在一个名称空间中工作。那真的很有用!所以,这实际上取决于你的掌舵图对库伯内特斯的影响。如果您正在更改角色等,您需要
管理员
群集管理员
,但如果不需要,您可能只需要
编辑
。谢谢你的精彩回答!而且,我没有意识到集群角色只能在一个名称空间中工作。那真的很有用!