1.9. 保护服务网络
应用程序互连提供默认内置安全性,可在集群和云中扩展。本节论述了您可以配置的其他安全性。
有关为每个集群创建粒度策略的信息,请参阅在 OpenShift 中使用 Skupper。
1.9.1. 使用 network-policy 限制对服务的访问 复制链接链接已复制到粘贴板!
默认情况下,如果您在服务网络上公开服务,该服务也可以从集群中的其他命名空间访问。您可以使用 --create-network-policy 选项创建站点时避免这种情况。
流程
使用网络策略创建服务网络路由器:
skupper init --create-network-policy
$ skupper init --create-network-policyCopy to Clipboard Copied! Toggle word wrap Toggle overflow 检查站点状态:
skupper status
$ skupper statusCopy to Clipboard Copied! Toggle word wrap Toggle overflow 输出应类似于如下:
Skupper enabled for namespace 'west'. It is not connected to any other sites.
Skupper enabled for namespace 'west'. It is not connected to any other sites.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
现在,您可以在服务网络上公开服务,这些服务无法从集群中的其他命名空间访问。
1.9.2. 将 TLS 应用到服务网络上的 TCP 或 HTTP2 流量 复制链接链接已复制到粘贴板!
默认情况下,站点之间的流量是加密的,但服务 Pod 和路由器 pod 之间的流量不会被加密。对于作为 TCP 或 HTTP2 公开的服务,pod 和路由器 pod 之间的流量可以使用 TLS 加密。
先决条件
- 两个或多个链接站点
- TCP 或 HTTP2 前端和后端服务
流程
- 部署后端服务。
在服务网络上公开后端部署,启用 TLS。
例如,如果要公开 TCP 服务:
skupper expose deployment <deployment-name> --port 443 --enable-tls
$ skupper expose deployment <deployment-name> --port 443 --enable-tls
启用 TLS 创建 TLS 后端所需的证书,并将其存储在名为 skupper-tls-<deployment-name> 的 secret 中。
修改 backend 部署使其包含生成的证书,例如:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 每个站点创建 TLS 客户端所需的证书,并将其存储在名为
skupper-service-client的 secret 中。修改 frontend 部署使其包含生成的证书,例如:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 从启用了 TLS 的前端测试调用该服务。