当前位置: 首页 > 知识库问答 >
问题:

设置每个命名空间的Helm RBAC

宿嘉
2023-03-14
Namespace="$1"

kubectl create namespace $Namespace
kubectl create serviceaccount "tiller-$Namespace" --namespace $Namespace
kubectl create role "tiller-role-$Namespace" /
    --namespace $Namespace /
    --verb=* /
    --resource=*.,*.apps,*.batch,*.extensions
kubectl create rolebinding "tiller-rolebinding-$Namespace" /
    --namespace $Namespace /
    --role="tiller-role-$Namespace" /
    --serviceaccount="$Namespace:tiller-$Namespace"
helm init /
    --service-account "tiller-$Namespace" /
    --tiller-namespace $Namespace
    --override "spec.template.spec.containers[0].command'='{/tiller,--storage=secret}"
    --upgrade
    --wait

官方文档中有bug吗?我看错了吗?

共有1个答案

支劲
2023-03-14

我不确定脚本中的--resource标志是否正确语法,这里是否允许星号符号“*”,看看GitHub上报道的这个问题。

$ kubectl create role "tiller-role-$Namespace" \
--namespace $Namespace \
--verb=* \
--resource=*.,*.apps,*.batch,*.extensions
the server doesn't have a resource type "*"

但您可以在集群中检查此角色对象:

Kubectl get role Tiller-role-$namespace-n$namespace-o yaml

kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: tiller-manager
  namespace: tiller-world
rules:
- apiGroups: ["", "batch", "extensions", "apps"]
  resources: ["*"]
  verbs: ["*"]
$ helm --tiller-namespace $Namespace version
Client: &version.Version{SemVer:"v2.11.0", GitCommit:"2e55dbe1fdb5fdb96b75ff144a339489417b146b", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.11.0", GitCommit:"2e55dbe1fdb5fdb96b75ff144a339489417b146b", GitTreeState:"clean"}
 类似资料:
  • 命名空间是设计用来扑捉框架最常见用途和提供一个简化和简介的语法用来在应用程序中打开他们。设计是基于框架中的大规模依赖,并且可以划分为以下几个方面: Web/HTTP 安全- 最复杂的部分,设置过滤器和应用框架验证机制的相关服务bean,渲染登录和错误页面等等。 业务对象(方法)安全 - 业务层安全选项. AuthenticationManager - 处理来自框架其他部分的认证请求 AccessD

  • 我需要在K8S中管理部署的建议。我需要使用gitops进行蓝色/绿色部署,这基本上给我留下了两个选择: 这将需要使用helm来管理删除资源等等,并通过helm通过代理管理blue/green,而这又将需要创建重复的部署模板(用于green和blue)。 优点:由掌舵人管理,会删除已删除的资源;似乎是一般的做法。 缺点:由helm管理,可能会搞砸一些东西,特别是在多个失败的部署中;可以创建雪花命名空

  • Im使用jaxb生成XML请求。下面是所有的代码细节。我也尝试过包信息的东西,但它不适合我。就像我想在每个对象XML标记上添加命名空间一样。 希望你们明白我的意思。我是做错了什么还是遗漏了什么?或者这种事情在JAXB Java中是可能的。 所需输出 我得到了什么 下面是我的JAXB父Java对象类 下面是我的内部JAXB对象Java类 下面是我的AcctChgRecType JAXB对象类

  • ShardingSphere-5.0.0-beta 数据分片 配置项说明 命名空间:http://shardingsphere.apache.org/schema/shardingsphere/sharding/sharding-5.0.0.xsd <sharding:rule /> 名称 类型 说明 id 属性 Spring Bean Id table-rules (?) 标签 分片表规则配置

  • 简介 ShardingSphere-JDBC 提供官方的 Spring 命名空间配置,使开发者可以非常便捷的整合 ShardingSphere-JDBC 和 Spring 框架。 Spring 命名空间配置项 配置示例 <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3

  • 4.4.1 rosrun设置命名空间与重映射 1.rosrun设置命名空间 1.1设置命名空间演示 语法: rosrun 包名 节点名 __ns:=新名称 rosrun turtlesim turtlesim_node __ns:=/xxx rosrun turtlesim turtlesim_node __ns:=/yyy 两个节点都可以正常运行 1.2运行结果 rosnode list查看