我试图创建一个Role和RoleBinding,以便可以使用Helm。用什么等效的kubectl
命令来创建以下资源?在我的场景中,使用命令行可使dev-ops更加简单。
kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: tiller-manager-foo
namespace: foo
rules:
- apiGroups: ["", "batch", "extensions", "apps"]
resources: ["*"]
verbs: ["*"]
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: tiller-binding-foo
namespace: foo
subjects:
- kind: ServiceAccount
name: tiller-foo
namespace: foo
roleRef:
kind: Role
name: tiller-manager-foo
apiGroup: rbac.authorization.k8s.io
根据@ nightfury1204,我可以运行以下命令来创建Role
:
kubectl创建角色tiller-manager-foo --namespace foo --verb = * --resource = 。, .apps, .batch, .extensions -n foo --dry-run -o yaml
这将输出:
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
creationTimestamp: null
name: tiller-manager-foo
rules:
- apiGroups:
- ""
resources:
- '*'
verbs:
- '*'
- apiGroups:
- apps
resources:
- '*'
verbs:
- '*'
- apiGroups:
- batch
resources:
- '*'
verbs:
- '*'
- apiGroups:
- extensions
resources:
- '*'
verbs:
- '*'
namespace
丢失了,其次,这是对等的吗?
答案 0 :(得分:3)
对于角色:
kubectl create role tiller-manager-foo --verb=* --resource=*.batch,*.extensions,*.apps,*. -n foo
--resource=*
支持在kubectl 1.12版本中添加
对于角色绑定:
kubectl create rolebinding tiller-binding-foo --role=tiller-manager-foo --serviceaccount=foo:tiller-foo -n foo
答案 1 :(得分:1)
kubectl apply -f
可以提交任意Kubernetes YAML文件,就像您在问题中的文件一样。
在这里我特别建议您这样做,因为您可以将这些YAML文件提交到源代码管理中,并且如果您仍在使用Helm,则与您拥有的唯一Kubernetes YAML文件相距甚远。这甚至为您引导Helm设置提供了一条一致的路径。