5.2. 将 TLS 应用到服务网络上的 TCP 或 HTTP2 流量


默认情况下,站点之间的流量是加密的,但服务 Pod 和路由器 pod 之间的流量不会被加密。对于作为 TCP 或 HTTP2 公开的服务,pod 和路由器 pod 之间的流量可以使用 TLS 加密。

先决条件

  • 两个或多个链接站点
  • TCP 或 HTTP2 前端和后端服务

流程

  1. 部署后端服务。
  2. 在服务网络上公开后端部署,启用 TLS。

    例如,如果要公开 TCP 服务:

    $ skupper expose deployment <deployment-name> --port 443 --enable-tls

    启用 TLS 创建 TLS 后端所需的证书,并将其存储在名为 skupper-tls-<deployment-name> 的 secret 中。

  3. 修改 backend 部署使其包含生成的证书,例如:

    ...
        spec:
          containers:
          ...
            command:
            ...
            - "/certs/tls.key"
            - "/certs/tls.crt"
            ...
            volumeMounts:
            ...
            - mountPath: /certs
              name: certs
              readOnly: true
          volumes:
          - name: index-html
            configMap:
              name: index-html
          - name: certs
            secret:
              secretName: skupper-tls-<deployment-name>

    每个站点创建 TLS 客户端所需的证书,并将其存储在名为 skupper-service-client 的 secret 中。

  4. 修改前端部署使其包含生成的证书,例如:

    spec:
      template:
        spec:
          containers:
          ...
            volumeMounts:
            - name: certs
              mountPath: /tmp/certs/skupper-service-client
          ...
          volumes:
          - name: certs
            secret:
              secretName: skupper-service-client
  5. 从启用了 TLS 的前端测试调用该服务。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.