在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 文件(例如clusterrolebinding.yaml
( 及其内容,并像部署到任何其他配置文件一样部署到群集:
kubectl create -f clusterrolebinding.yaml
我认为这不会比kubectl create clusterrolebinding
命令本身更容易自动化,您仍然需要告诉集群这个新绑定。