跳至內容

Serving 加密概述

警告

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 內部元件 (ingress-controlleractivatorqueue-proxy) 之間的 HTTPS。

Overview of Knative encryption

注意

目前,所有控制平面流量 (包括 Kubernetes PreStopHooks 和指標等中繼資料) 都未加密。

詳細說明各部分

各部分彼此獨立,並且(可以)使用不同的憑證授權機構來簽署憑證。

外部網域加密

External domain

  • 憑證 CN/SAN 包含 Knative 服務的外部網域,例如 myapp-<namespace>.example.com
  • 憑證由 ingress-controller 的外部端點使用 SNI 來託管。
  • 呼叫者必須信任簽署憑證的 (外部) CA(這不在 Knative 的範圍內)。
  • 這些憑證可手動提供或透過啟用自動憑證佈建來提供。

請參閱設定外部網域加密,以取得此功能的更多資訊。

叢集本機加密

Cluster local domain

  • 憑證 CN/SAN 包含 Knative 服務的叢集本機網域,例如 myapp.namespace.svc.cluster.localmyapp.namespace.svcmyapp.namespace
  • 憑證由 ingress-controller 的叢集本機端點使用 SNI 來託管。
  • 呼叫者必須信任簽署憑證的 CA(這不在 Knative 的範圍內)。一種方法是使用 cert-manager 的 trust-manager
  • 為了建立憑證,Knative 仰賴 cert-manager 和 Knative cert-manager 整合。它們需要安裝並設定才能使此功能運作。

請參閱設定叢集本機網域加密,以取得此功能的更多資訊。

Knative 系統內部加密

Knative system internal

啟用此設定時,Knative 系統內部元件 (Ingress-Controller、Activator、Queue-Proxy) 會託管 TLS 端點。

  • 為了建立憑證,Knative 仰賴 cert-manager 和 Knative cert-manager 整合。它們需要安裝並設定才能使此功能運作。
  • 使用特定的 SAN 來驗證每個連線。每個元件都需要信任簽署憑證的 CA(可能是完整鏈)。為此,Knative 系統元件將會取用並信任提供的 CABundle。CA 組合需要由叢集管理員提供,可能使用 cert-manager 的 trust-manager

請參閱設定 Knative 系統內部加密,以取得此功能的更多資訊。

我們使用分析和 Cookie 來瞭解網站流量。您使用我們網站的相關資訊會與 Google 分享以達到該目的。了解更多。