ube*_*ebu 3 kubernetes kubectl
kubectl
我正在寻找以下 yaml 文件的单个命令或命令组合
---
#
# Create a role, `pod-reader`, that can list pods and
# bind the default service account in the `mynamespace` namespace
# to that role.
#
kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: pod-reader
namespace: mynamespace
rules:
- apiGroups: [""] # "" indicates the core API group
resources: ["pods"]
verbs: ["get", "watch", "list"]
---
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: read-pods
namespace: mynamespace
subjects:
- kind: Group
name: system:serviceaccounts:mynamespace
apiGroup: rbac.authorization.k8s.io
roleRef:
kind: Role
name: pod-reader
apiGroup: rbac.authorization.k8s.io
Run Code Online (Sandbox Code Playgroud)
所以几乎创建了一个可以获取、观察和列出 pod 的命名空间
这假设命名空间和服务帐户已经创建:
$ kubectl create namespace mynamespace
$ kubectl create serviceaccount mysa -n mynamespace
Run Code Online (Sandbox Code Playgroud)
使用以下命令创建角色:
$ kubectl create role pod-reader --namespace=mynamespace \
--verb=get,list,watch \
--resource=pods \
Run Code Online (Sandbox Code Playgroud)
使用以下命令创建角色绑定:
$ kubectl create rolebinding read-pods --namespace=mynamespace \
--role=pod-reader \
--group=system:serviceaccounts:mynamespace
Run Code Online (Sandbox Code Playgroud)
提示:如果您想预览生成的 YAML 而不是实际创建资源,请附加--dry-run=true -o=yaml
到命令。