如何使用 GKE Kubernetes 的 Google 托管证书

wil*_*007 0 google-cloud-platform kubernetes google-kubernetes-engine kubernetes-ingress gke-networking

我正在为 Flytime.io 的前端 https 生成 https(云运行) 在此输入图像描述

现在我想将其用于后端的 https 支持(多入口 gke 自动驾驶仪),来自以下手册,旨在使用 api.flytime.io 域:https: //cloud.google.com/kubernetes-engine/docs /how-to/multi-cluster-ingress#https_support

在此输入图像描述

但是我应该如何使用手册配置 PATH_TO_KEYFILE 和 PATH_TO_CERTFILE (或者还有其他方法可以做到这一点)?如果无法使用 Google 托管认证(为什么?),如何为 api.flytime.io 主机名生成证书并获取 PATH_TO_KEYFILE 和 PATH_TO_CERTFILE?

zer*_*er0 6

如果您使用 GKE 托管证书,则无需使用secret在 Ingress 中设置 SSL 的方法。您必须创建一个ManagedCertificate对象,然后在networking.gke.io/managed-certificates注释中的 Ingress 中使用该对象的名称。

这是一个例子。首先,创建ManagedCertificate对象。

apiVersion: networking.gke.io/v1
kind: ManagedCertificate
metadata:
  name: managed-cert
spec:
  domains:
    - DOMAIN_NAME1 #<===== must be valid a domain you are owning
Run Code Online (Sandbox Code Playgroud)

现在,在您的中引用此内容,Ingress如下所示:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: managed-cert-ingress
  annotations:
    kubernetes.io/ingress.global-static-ip-name: ADDRESS_NAME
    networking.gke.io/managed-certificates: managed-cert #<=== HERE IS YOUR CERT
    kubernetes.io/ingress.class: "gce"
spec:
  defaultBackend:
    service:
      name: mc-service
      port:
        number: SERVICE_PORT
Run Code Online (Sandbox Code Playgroud)

您可以在此文档页面上找到更多信息。