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