在 GKE 上为 NGINX Ingress Controller 自动创建 ClusterRoleBinding
Automatically Create ClusterRoleBinding on GKE for NGINX Ingress Controller
在 installation guide 在 Google Kubernetes Engine 上设置 NGINX Ingress,你必须 运行 下面的命令来生成一个 clusterrolebinding
:
kubectl create clusterrolebinding cluster-admin-binding \
--clusterrole cluster-admin \
--user $(gcloud config get-value account)
因为我想自动执行整个设置过程,所以我不想在每次创建新集群时都运行执行此命令。
所以我想知道是否有办法创建一个配置 .yaml
文件,自动将上述 clusterrolebinding
应用到我在 GKE 上的集群?
您可以看到 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
命令本身更容易实现自动化,但是您仍然需要将此新绑定告知集群。
在 installation guide 在 Google Kubernetes Engine 上设置 NGINX Ingress,你必须 运行 下面的命令来生成一个 clusterrolebinding
:
kubectl create clusterrolebinding cluster-admin-binding \
--clusterrole cluster-admin \
--user $(gcloud config get-value account)
因为我想自动执行整个设置过程,所以我不想在每次创建新集群时都运行执行此命令。
所以我想知道是否有办法创建一个配置 .yaml
文件,自动将上述 clusterrolebinding
应用到我在 GKE 上的集群?
您可以看到 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
命令本身更容易实现自动化,但是您仍然需要将此新绑定告知集群。