跳到内容

配置集群本地域加密

警告

Knative Serving 的加密功能 cluster-local-domain-tlssystem-internal-tls 处于实验阶段。请谨慎使用!

准备工作

您必须满足以下要求才能启用安全的 HTTPS 连接

  • 必须安装 Knative Serving。有关安装 Serving 组件的详细信息,请参阅 Knative 安装指南

警告

此功能目前仅支持 Kourier 和 Istio 作为网络层。

安装并配置 cert-manager 和集成

首先,您需要安装并配置 cert-manager 和 Knative cert-manager 集成。详情请参考 配置 Knative cert-manager 集成

启用集群本地域 TLS

要启用 cluster-local-domain-tls,请更新 knative-serving 命名空间中的 config-network ConfigMap

  1. 运行以下命令编辑您的 config-network ConfigMap

    kubectl edit configmap config-network -n knative-serving
    
  2. data 部分下添加 cluster-local-domain-tls: Enabled 属性

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: config-network
      namespace: knative-serving
    data:
       ...
       cluster-local-domain-tls: Enabled
       ...
    
  3. 重启 Knative Serving 控制器以启动 Knative cert-manager 集成

    kubectl rollout restart deploy/controller -n knative-serving
    

恭喜!Knative 现在已配置为获取和续订集群本地域的 TLS 证书。

验证

  1. 部署 Knative Service

  2. 使用 kubectl get ksvc -n <your-namespace> -o yaml 检查 URL

  3. 服务 URL 集群本地域 (https://helloworld.test.svc.cluster.local) 现在应为 https

apiVersion: serving.knative.dev/v1
kind: Service
metadata:
  name: helloworld
  namespace: test
spec:
  # ...
status:
  address:
    # cluster-local-domain:
    url: https://helloworld.test.svc.cluster.local
  # ...
  # external domain:
  url: http://helloworld.first.example.com

信任

注意

关于信任的简要说明,所有调用 Knative 服务集群本地域的客户端都需要信任签署证书的证书颁发机构。这不在 Knative 的范围之内,但需要解决以确保系统正常运行。特别是当证书颁发机构执行 CA 或中间证书的轮换时。有关更多信息,请参阅配置 Knative cert-manager 集成

我们使用分析和 cookie 来了解网站流量。有关您使用我们网站的信息会与 Google 共享以达到此目的。了解更多。