7.4. 信任配置


当您启用任何传输加密功能时,您必须确保所有调用证书颁发机构(CA)的客户端都发出用于传输加密的证书。

有很多信任必须保证的:

  • 集群外部客户端,如浏览器或其他应用程序。这是 OpenShift Serverless 的范围。
  • OpenShift Serverless 系统组件,如 Activator、Queue-Proxy 和 Ingress-Controller。
  • 集群内部客户端,如 Knative Service 或其他工作负载。

7.4.1. OpenShift Serverless Serving 组件和 Knative Services 的信任配置

为确保 OpenShift Serverless Serving 组件和 Knative Services 信任发布证书的 CA,您可以在以下命名空间中创建 ConfigMap,标签为 networking.knative.dev/trust-bundle: true

knative-serving
用于 OpenShift Serverless Serving 的系统组件。
knative-serving-ingress
对于 OpenShift Serverless Serving 的入口层。
istio-system 或您自己的 Service Mesh 命名空间
启用 Service Mesh 集成。

Knative 会使用此标签读取 ConfigMap 中的所有数据密钥,而不考虑名称。一个密钥可以包含一个或多个 CA 或中间证书。如果它们有效,则会将它们添加到 Knative 组件的信任存储中。

这是一个 ConfigMap 示例:

apiVersion: v1
data:
  cacerts.pem: | 1
    -----BEGIN CERTIFICATE-----
    MIIDDTCCAfWgAwIBAgIQMQuip05h7NLQq2TB+j9ZmTANBgkqhkiG9w0BAQsFADAW
    MRQwEgYDVQQDEwtrbmF0aXZlLmRldjAeFw0yMzExMjIwOTAwNDhaFw0yNDAyMjAw
    OTAwNDhaMBYxFDASBgNVBAMTC2tuYXRpdmUuZGV2MIIBIjANBgkqhkiG9w0BAQEF
    AAOCAQ8AMIIBCgKCAQEA3clC3CV7sy0TpUKNuTku6QmP9z8JUCbLCPCLACCUc1zG
    FEokqOva6TakgvAntXLkB3TEsbdCJlNm6qFbbko6DBfX6rEggqZs40x3/T+KH66u
    4PvMT3fzEtaMJDK/KQOBIvVHrKmPkvccUYK/qWY7rgBjVjjLVSJrCn4dKaEZ2JNr
    Fd0KNnaaW/dP9/FvviLqVJvHnTMHH5qyRRr1kUGTrc8njRKwpHcnUdauiDoWRKxo
    Zlyy+MhQfdbbyapX984WsDjCvrDXzkdGgbRNAf+erl6yUm6pHpQhyFFo/zndx6Uq
    QXA7jYvM2M3qCnXmaFowidoLDsDyhwoxD7WT8zur/QIDAQABo1cwVTAOBgNVHQ8B
    Af8EBAMCAgQwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDwYDVR0TAQH/BAUwAwEB/zAd
    BgNVHQ4EFgQU7p4VuECNOcnrP9ulOjc4J37Q2VUwDQYJKoZIhvcNAQELBQADggEB
    AAv26Vnk+ptQrppouF7yHV8fZbfnehpm07HIZkmnXO2vAP+MZJDNrHjy8JAVzXjt
    +OlzqAL0cRQLsUptB0btoJuw23eq8RXgJo05OLOPQ2iGNbAATQh2kLwBWd/CMg+V
    KJ4EIEpF4dmwOohsNR6xa/JoArIYH0D7gh2CwjrdGZr/tq1eMSL+uZcuX5OiE44A
    2oXF9/jsqerOcH7QUMejSnB8N7X0LmUvH4jAesQgr7jo1JTOBs7GF6wb+U76NzFa
    8ms2iAWhoplQ+EHR52wffWb0k6trXspq4O6v/J+nq9Ky3vC36so+G1ZFkMhCdTVJ
    ZmrBsSMWeT2l07qeei2UFRU=
    -----END CERTIFICATE-----
kind: ConfigMap
metadata:
  labels:
    networking.knative.dev/trust-bundle: "true"
  name: knative-bundle 2
  namespace: knative-serving
1
提供组件信任包含有效 PEM 编码 CA 捆绑包的所有密钥。
2
您可以使用任意名称。
重要

当创建或更新 CA 捆绑包 ConfigMap 时,Serving 组件会自动获取它们,并将 CA 或中间证书添加到其 CA 信任存储中。每个新的 HTTP 连接都会刷新信任存储。

7.4.2. 自定义工作负载上的信任配置

由于 OpenShift Serverless Serving 不控制所有工作负载和管理信任,因此高度依赖于您的运行时和语言,自定义工作负载不在 OpenShift Serverless 范围内。以下是自定义工作负载的其他选项:

  • 将 CA 捆绑包添加到构建时的容器镜像。请注意,这会使 CA 轮转复杂,因为您必须在 CA 轮转时重建并重新部署每个应用程序。
  • 将 CA 捆绑包挂载到文件系统,如 Secret 或 ConfigMap,并确保您的应用程序使用它来验证 TLS 连接。
  • 从环境变量读取 CA 捆绑包,并确保您的应用程序使用它来验证 TLS 连接。
  • 使用 Kubernetes API 从 secret 或 ConfigMap 访问 CA 捆绑包,并确保应用程序使用它来验证 TLS 连接。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.