搜索

第 6 章 生成构建时网络策略

download PDF

build-time 网络策略生成器包含在 roxctl CLI 中。对于构建网络策略生成功能,roxctl CLI 不需要与 RHACS Central 通信,因此您可以在任何开发环境中使用它。

6.1. 使用构建时网络策略生成器

先决条件

  1. build-time 网络策略生成器递归扫描您在运行命令时指定的目录。因此,在运行该命令前,您必须已具有服务清单、配置映射和工作负载清单,如 PodDeploymentReplicaSetJobDaemonSetStatefulSet 作为指定目录中的 YAML 文件。
  2. 使用 kubectl apply -f 命令验证这些 YAML 文件是否按原样应用。build-time 网络策略生成器无法用于使用 Helm 样式模板的文件。
  3. 验证服务网络地址没有硬编码。需要连接到服务的每个工作负载都必须将服务网络地址指定为变量。您可以使用工作负载的资源环境变量或配置映射来指定此变量。

  4. 服务网络地址必须与以下官方正则表达式模式匹配:

    (http(s)?://)?<svc>(.<ns>(.svc.cluster.local)?)?(:<portNum>)? 1
    1
    在这种模式中,
    • <svc> 是服务名称。
    • <ns> 是定义该服务的命名空间。
    • <portNum> 是公开的服务端口号。

    以下是与模式匹配的一些示例:

    • wordpress-mysql:3306
    • redis-follower.redis.svc.cluster.local:6379
    • redis-leader.redis
    • http://rating-service.

流程

  1. 运行 help 命令验证构建网络策略生成功能是否可用:

    $ roxctl netpol generate -h
  2. 使用 netpol generate 命令生成策略:

    $ roxctl netpol generate <folder-path> 1
    1
    指定具有 Kubernetes 清单的文件夹路径。

roxctl netpol generate 命令支持以下选项:

选项

描述

-h, --help

查看 netpol 命令的帮助文本。

-d, --output-dir <dir>

将生成的策略保存到目标文件夹中。每个策略有一个文件。

-f, --output-file <filename>

将生成的策略保存并合并到单个 YAML 文件中。

--fail

在第一次遇到的错误时失败。默认值为 false

--remove

删除输出路径(如果已存在)。

--strict

将警告视为错误。默认值为 false

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.