跳至内容

服务加密概述

警告

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

Knative Serving 加密包含三个部分

  1. 集群外部的入口层上的 HTTPS(集群外部域,如 myapp-<namespace>.example.com)。
  2. 集群内部的入口层上的 HTTPS(集群本地域,如 myapp.<namespace>.svc.cluster.local)。
  3. Knative 内部组件之间的 HTTPS(ingress-controlleractivatorqueue-proxy)。

Overview of Knative encryption

注意

目前,所有控制平面流量(包括 Kubernetes PreStopHooks 和指标等元数据)均未加密。

各个部分的详细信息

不同的部分彼此独立,(可以)使用不同的证书颁发机构来签署证书。

外部域加密

External domain

  • 证书 CN/SAN 包含 Knative 服务的外部域,例如 myapp-<namespace>.example.com
  • 证书由入口控制器的外部端点使用 SNI 托管。
  • 调用者必须信任签署证书的(外部)CA(这超出了 Knative 的范围)。
  • 这些证书要么手动提供,要么通过启用自动证书配置提供。

有关此功能的更多信息,请参阅 配置外部域加密

集群本地加密

Cluster local domain

  • 证书 CN/SAN 包含 Knative 服务的集群本地域,例如 myapp.namespace.svc.cluster.localmyapp.namespace.svcmyapp.namespace
  • 证书由入口控制器的集群本地端点使用 SNI 托管。
  • 调用者必须信任签署证书的 CA(这超出了 Knative 的范围)。一种方法是使用来自 cert-manager 的 trust-manager
  • 为了创建证书,Knative 依赖于 cert-manager 和 Knative cert-manager 集成。它们需要安装并配置才能使该功能正常工作。

有关此功能的更多信息,请参阅 配置集群本地域加密

Knative 系统内部加密

Knative system internal

启用此配置后,Knative 系统内部组件(入口控制器、激活器、队列代理)将托管 TLS 端点。

  • 为了创建证书,Knative 依赖于 cert-manager 和 Knative cert-manager 集成。它们需要安装并配置才能使该功能正常工作。
  • 将使用特定的 SAN 来验证每个连接。每个组件都需要信任签署证书的 CA(可能是完整链)。为此,Knative 系统组件将使用并信任提供的 CABundle。CA 捆绑包需要由集群管理员提供,可能使用来自 cert-manager 的 trust-manager

有关此功能的更多信息,请参阅 配置 Knative 系统内部加密

我们使用分析和 Cookie 来了解网站流量。有关您使用我们网站的信息将与 Google 共享,用于此目的。 了解更多。