1.9. 保护服务网络


应用程序互连提供默认内置安全性,可在集群和云中扩展。本节论述了您可以配置的其他安全性。

有关为每个集群创建粒度策略的信息,请参阅在 OpenShift 中使用 Skupper

1.9.1. 使用 network-policy 限制对服务的访问

默认情况下,如果您在服务网络上公开服务,该服务也可以从集群中的其他命名空间访问。您可以使用 --create-network-policy 选项创建站点时避免这种情况。

流程

  1. 使用网络策略创建服务网络路由器:

    $ skupper init --create-network-policy
    Copy to Clipboard Toggle word wrap
  2. 检查站点状态:

    $ skupper status
    Copy to Clipboard Toggle word wrap

    输出应类似于如下:

    Skupper enabled for namespace 'west'. It is not connected to any other sites.
    Copy to Clipboard Toggle word wrap

现在,您可以在服务网络上公开服务,这些服务无法从集群中的其他命名空间访问。

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

先决条件

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

流程

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

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

$ skupper expose deployment <deployment-name> --port 443 --enable-tls
Copy to Clipboard Toggle word wrap

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

  1. 修改 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>
    Copy to Clipboard Toggle word wrap

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

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

    spec:
      template:
        spec:
          containers:
          ...
            volumeMounts:
            - name: certs
              mountPath: /tmp/certs/skupper-service-client
          ...
          volumes:
          - name: certs
            secret:
              secretName: skupper-service-client
    Copy to Clipboard Toggle word wrap
  3. 从启用了 TLS 的前端测试调用该服务。
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部