【问题标题】:how to enable-cors in GKE with ingress如何在 GKE 中通过入口启用 Cors
【发布时间】:2018-06-19 19:13:16
【问题描述】:
我正在尝试使用以下注释启用带有入口的 cors,但没有成功:
kubernetes.io/ingress.class: "nginx"
nginx.ingress.kubernetes.io/enable-cors: "true"
【问题讨论】:
标签:
kubernetes
google-kubernetes-engine
【解决方案1】:
正确的注解是ingress.kubernetes.io/enable-cors: "true"
【解决方案2】:
这是对在 GCP 上使用 Kubernetes 的人的已批准答案的补充。
如果人们现有的 Ingress 使用 gce 类运行,他们需要先切换到 nginx。
那么你应该按照NGINX Ingress Controller - Installation Guide的安装步骤。
但请注意,如果您使用的是 Kubernetes 1.8+,则默认启用 RBAC。在运行第一个 RBAC 安装行时,这可能会给您一个错误。错误类似于:“来自服务器的错误(禁止):创建“STDIN”时出错:clusterroles.rbac.authorization.k8s.io “nginx-ingress-clusterrole”被禁止:尝试授予额外权限”。
虽然此配置步骤失败,但 nginx 入口控制器将无法运行,它会一遍又一遍地崩溃并抱怨 RBAC。
当我自己在网上搜索时,我发现了一个与此错误相关的帖子,它帮助我获得了一个正在运行的 nginx 入口控制器。
请阅读post by user dafstone at March 5 2018。
它将您的 GCP 帐户添加为集群管理员,允许您按照安装指南中的说明安装所需的 RBAC 规则。
祝你好运!