跳到内容

配置集群本地域加密

警告

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 集成

启用 cluster-local-domain-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 服务

  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 共享以用于该目的。 了解更多