如何在单个YAML文件中创建多个角色

时间:2018-07-04 13:47:32

标签: kubernetes yaml role

我试图在一个YAML文件中的Kubernetes中创建多个角色。
我不确定是否可以。

这是我尝试的:

cat > ~/tmp/Role.yaml <<EOF 
kind: Role
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata: 
  namespace: default
  name: testRole1
rules: 
- apiGroups: ["", "extensions", "apps"]
  resources: ["pods"]
  verbs: ["get", "list"] 

kind: Role
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata: 
  namespace: default
  name: testRole2
rules: 
- apiGroups: ["", "extensions", "apps"]
  resources: ["pods"]
  verbs: ["get"] 
EOF

kubectl create -f ~/tmp/Role.yaml

它只会为我创建后者-testRole2

是否可以在一个YAML文件中执行此操作,或者我需要为每个角色创建YAML文件?

2 个答案:

答案 0 :(得分:3)

我刚刚收到@liggitt的答复。

需要在它们之间添加一个记录分隔符(---)。

答案 1 :(得分:1)

仅供参考

您可以使用List对象编写yaml,如下所示。

apiVersion: v1
kind: List
items:
- kind: Role
  apiVersion: rbac.authorization.k8s.io/v1beta1
  metadata: 
    namespace: default
    name: testRole1
  rules: 
  - apiGroups: ["", "extensions", "apps"]
    resources: ["pods"]
    verbs: ["get", "list"] 
- kind: Role
  apiVersion: rbac.authorization.k8s.io/v1beta1
  metadata: 
    namespace: default
    name: testRole2
  rules: 
  - apiGroups: ["", "extensions", "apps"]
    resources: ["pods"]
    verbs: ["get"]