AZURE OPENSHIFT DNSConfig和Ingress / Egress NetworkPolicy?

问题描述

我是openshift的新手,我已经部署了Azure Redhat Openshift群集,并且可以以管理员身份访问Web控制台。

通过直接提供github url,我已经使用内置S2I模式在Openshift集群中部署了一个示例应用程序,并且该应用程序已成功部署。

现在我的要求是实施DNSConfig和Ingress / Egress NetworkPolicy。

我是个新手,无法理解DNSConfig和Ingress / Egress NetworkPolicy到底是什么。

有人可以向我解释一下这些是什么,以及如何将其实现到部署在该Azure openshift控制台中的演示应用程序中。

请帮助。

预先感谢。

解决方法

您最好的选择是熟悉官方文档。

Pod's DNS Config

Pod的DNS配置可让用户对DNS设置进行更多控制 吊舱。

dnsConfig字段是可选的,可以与任何dnsPolicy一起使用 设置。但是,当Pod的dnsPolicy设置为“ None”时, 必须dnsConfig字段。

以下是用户可以在dnsConfig字段中指定的属性:

  • nameservers:将用作Pod的DNS服务器的IP地址列表。最多可以指定3个IP地址。 当Pod的dnsPolicy设置为“ None”时,列表必须包含 至少一个IP地址,否则此属性是可选的。服务器 列出的内容将合并到从 指定的DNS策略,删除了重复的地址。

  • searches:用于在Pod中查找主机名的DNS搜索域的列表。此属性是可选的。指定后,提供的列表将 合并到根据所选内容生成的基本搜索域名中 DNS策略。重复的域名将被删除。 Kubernetes允许 最多6个搜索域。

  • options:对象的可选列表,其中每个对象可能具有name属性(必需)和value属性(可选)。的 此属性中的内容将合并到从生成的选项中 指定的DNS策略。重复的条目将被删除。

Network Policies

如果要在IP地址或端口级别控制流量 (OSI第3层或第4层),那么您可以考虑使用Kubernetes 群集中特定应用程序的网络策略。 NetworkPolicies是一个以应用程序为中心的构造,它使您可以 指定如何允许Pod与各种网络通信 “实体”(我们在此处使用“实体”一词,以避免 更常见的术语,例如“端点”和“服务”,它们具有 特定的Kubernetes含义)。

Pod可以与之通信的实体通过 以下3个标识符的组合:

  1. 允许的其他Pod(例外:Pod无法阻止对其自身的访问)

  2. 允许的命名空间

  3. IP块(例外:始终允许往返运行Pod的节点的流量) 节点)

定义基于Pod或基于名称空间的NetworkPolicy时,请使用 选择器以指定允许和禁止来自Pod的流量 与选择器匹配。

同时,在创建基于IP的网络策略时,我们定义 基于IP块(CIDR范围)的策略。

这些主题在链接的文档中有更详细的说明。您还可以找到一些示例,这些示例将帮助您在用例中实现它。