5.2. 将 TLS 应用到服务网络上的 TCP 或 HTTP2 流量
默认情况下,站点之间的流量是加密的,但服务 Pod 和路由器 pod 之间的流量不会被加密。对于作为 TCP 或 HTTP2 公开的服务,pod 和路由器 pod 之间的流量可以使用 TLS 加密。
先决条件
- 两个或多个链接站点
- TCP 或 HTTP2 前端和后端服务
流程
- 部署后端服务。
在服务网络上公开后端部署,启用 TLS。
例如,如果要公开 TCP 服务:
$ skupper expose deployment <deployment-name> --port 443 --enable-tls
启用 TLS 创建 TLS 后端所需的证书,并将其存储在名为
skupper-tls-<deployment-name>
的 secret 中。修改 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 中。修改前端部署使其包含生成的证书,例如:
spec: template: spec: containers: ... volumeMounts: - name: certs mountPath: /tmp/certs/skupper-service-client ... volumes: - name: certs secret: secretName: skupper-service-client
- 从启用了 TLS 的前端测试调用该服务。