【问题标题】: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 命令本身更容易自动化,但您仍然需要告诉集群这个新绑定。

    【讨论】:

    • 太棒了!是否可以从配置映射中读取name 字段?
    猜你喜欢
    • 2021-11-05
    • 2020-05-19
    • 2021-07-31
    • 2019-06-20
    • 2019-12-03
    • 1970-01-01
    • 2019-02-24
    • 2019-04-30
    • 2019-07-29
    相关资源
    最近更新 更多