我是 GKE 的新手,现在正在尝试为 RASA 创建一个新集群。我正在尝试使用 HTTPS 创建一个入口以指向此集群中的负载均衡器。但我无法Create Google-managed certificate
从列表中选择选项。它似乎在此集群中被禁用。如何启用此功能?
帮助显示:
要创建 Google 管理的证书,您的集群需要存在
ManagedCertificate
自定义资源定义。
我是 GKE 的新手,现在正在尝试为 RASA 创建一个新集群。我正在尝试使用 HTTPS 创建一个入口以指向此集群中的负载均衡器。但我无法Create Google-managed certificate
从列表中选择选项。它似乎在此集群中被禁用。如何启用此功能?
帮助显示:
要创建 Google 管理的证书,您的集群需要存在
ManagedCertificate
自定义资源定义。
发布此社区 wiki 答案以提供更多关于最近修复的灰色选项创建问题的可见性Create a Google-managed certificate
。
随意编辑和扩展。
您可以在 GCP Issuetracker 上找到对应的Issue :
引用线程中消息的一部分:
正如我所看到的,这个问题已经解决了。你不应该再遇到它。
如上所述,此问题不应再出现。通过以下步骤复制后:
GKE
集群并等待它的配置。$ kubectl create deployment nginx --image=nginx
$ kubectl expose deployment nginx --port=80 --type=NodePort
Cloud Console
-> Kubernetes Engine
-> Services & Ingress
-> Create Ingress
(选择 nginx 后Service)
-> Frontend configuration
-> HTTPS
->Create a new certificate
可以看到以下选项可用:
其他资源:
由于您没有提供您所遵循的步骤,我将演示如何以正确的方式进行操作。
首先,如果您检查Setting up HTTP(S) Load Balancing with Ingress,您会发现 GKE 集成了对两种类型的 Cloud Load Balancing 的支持:
当您
type:LoadBalancer
在资源清单中指定时,GKE 会创建一个Service
typeLoadBalancer
。当您
type:Ingress
在资源清单中指定时,您会指示 GKE 创建Ingress
资源。通过包含注释和支持工作负载和服务,您可以创建自定义Ingress controller
. ...负载均衡器的 URL 映射的主机规则和路径匹配器引用一个或多个后端服务,其中每个后端服务对应一个 NodePort 类型的 GKE 服务,如 Ingress 中所引用
在 GKE 文档的另一部分,与使用 Google 管理的 SSL 证书有关,您可以找到两个重要说明:
此功能仅适用于 Ingress for External HTTP(S) 负载平衡。
托管证书是所有 GKE 版本中提供的 Beta 功能。在主节点运行 Kubernetes 低于 1.16.5-gke.1 的集群中,托管证书在 v1beta1 版本中可用,并且它们不支持每个证书的多个主题备用名称 (SAN)。
在 GKE 1.16.5-gke.1 和更高版本中,托管证书在 v1beta2 版本中可用,每个证书最多支持 100 个 SAN,v1beta1 版本仍然可用。
我已经测试了一些场景,包括LoadBalancer
和NodePort
作为服务类型。在 RASA-X 图中,服务属于一种LoadBalancer
类型。在我想要的所有测试中Create Google Managed Certificate
,它仅适用于NodePort
.
您是否尝试编辑此服务并将其更改为NodePort
?
一个很好的检查示例是遵循本教程。
如果您仍然遇到同样的问题,请提供有关您的环境和重现问题的步骤的更多信息。