如何在单个 YAML 文件中创建多个角色
How to create multiple roles in a single YAML file
我正在尝试在单个 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 文件?
我刚收到@liggitt 的回复。
需要在它们之间添加一个记录分隔符(---
)。
仅供参考
您可以使用 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"]
我正在尝试在单个 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 文件?
我刚收到@liggitt 的回复。
需要在它们之间添加一个记录分隔符(---
)。
仅供参考
您可以使用 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"]