【问题标题】:Automatically Create ClusterRoleBinding on GKE for NGINX Ingress Controller在 GKE for NGINX Ingress Controller 上自动创建 ClusterRoleBinding
【发布时间】:2020-05-27 06:52:09
【问题描述】:
在 Google Kubernetes Engine 上设置 NGINX Ingress 的installation guide 中,您必须运行以下命令来生成clusterrolebinding:
kubectl create clusterrolebinding cluster-admin-binding \
--clusterrole cluster-admin \
--user $(gcloud config get-value account)
由于我想自动化整个设置过程,我不想每次创建新集群时都运行此命令。
所以我想知道是否有办法创建配置.yaml 文件,自动将上述clusterrolebinding 应用到我在GKE 上的集群?
【问题讨论】:
标签:
kubernetes
google-kubernetes-engine
kubectl
kubernetes-ingress
nginx-ingress
【解决方案1】:
您可以看到由 kubectl 命令创建的 yaml,如下所示:
kubectl create clusterrolebinding cluster-admin-binding \
--clusterrole cluster-admin \
--user $(gcloud config get-value account)
--dry-run
-o yaml
这会给你这样的输出:
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
creationTimestamp: null
name: cluster-admin-binding
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- apiGroup: rbac.authorization.k8s.io
kind: User
name: your_user
然后,您可以创建一个包含其内容的 yaml 文件 (e.j. clusterrolebinding.yaml) 并像使用任何其他配置文件一样部署到集群:
kubectl create -f clusterrolebinding.yaml
我认为这不会比 kubectl create clusterrolebinding 命令本身更容易自动化,但您仍然需要告诉集群这个新绑定。