6

我是 GKE 的新手,现在正在尝试为 RASA 创建一个新集群。我正在尝试使用 HTTPS 创建一个入口以指向此集群中的负载均衡器。但我无法Create Google-managed certificate从列表中选择选项。它似乎在此集群中被禁用。如何启用此功能?

帮助显示:

要创建 Google 管理的证书,您的集群需要存在 ManagedCertificate自定义资源定义。

在此处输入图像描述

4

2 回答 2

2

发布此社区 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

可以看到以下选项可用:

谷歌管理的证书


其他资源:

于 2021-05-21T13:30:45.067 回答
-1

由于您没有提供您所遵循的步骤,我将演示如何以正确的方式进行操作。

首先,如果您检查Setting up HTTP(S) Load Balancing with Ingress,您会发现 GKE 集成了对两种类型的 Cloud Load Balancing 的支持:

当您type:LoadBalancer在资源清单中指定时,GKE 会创建一个Servicetype LoadBalancer

当您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 版本仍然可用。

我已经测试了一些场景,包括LoadBalancerNodePort作为服务类型。在 RASA-X 图中,服务属于一种LoadBalancer类型。在我想要的所有测试中Create Google Managed Certificate,它仅适用于NodePort.

您是否尝试编辑此服务并将其更改为NodePort

一个很好的检查示例是遵循本教程

如果您仍然遇到同样的问题,请提供有关您的环境和重现问题的步骤的更多信息。

于 2020-08-11T13:15:41.410 回答