将 kubernetes yaml 转换为 kubectl cli 命令

convert kubernetes yaml to kubectl cli command

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

创建一个可以获取、监视和列出的命名空间就差不多了pods

这假定命名空间和服务帐户已经创建:

$ kubectl create namespace mynamespace

$ kubectl create serviceaccount mysa -n mynamespace

创建角色:

$ kubectl create role pod-reader --namespace=mynamespace \
    --verb=get,list,watch \
    --resource=pods \

创建角色绑定:

$ kubectl create rolebinding read-pods --namespace=mynamespace \
    --role=pod-reader \
    --group=system:serviceaccounts:mynamespace

提示:如果您想预览生成的 YAML 而不是实际创建资源,请将 --dry-run=true -o=yaml 附加到命令。