问题描述
我是openshift的新手,我已经部署了Azure Redhat Openshift群集,并且可以以管理员身份访问Web控制台。
通过直接提供github url,我已经使用内置S2I模式在Openshift集群中部署了一个示例应用程序,并且该应用程序已成功部署。
现在我的要求是实施DNSConfig和Ingress / Egress NetworkPolicy。
我是个新手,无法理解DNSConfig和Ingress / Egress NetworkPolicy到底是什么。
有人可以向我解释一下这些是什么,以及如何将其实现到部署在该Azure openshift控制台中的演示应用程序中。
请帮助。
预先感谢。
解决方法
您最好的选择是熟悉官方文档。
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策略。重复的条目将被删除。
如果要在IP地址或端口级别控制流量 (OSI第3层或第4层),那么您可以考虑使用Kubernetes 群集中特定应用程序的网络策略。 NetworkPolicies是一个以应用程序为中心的构造,它使您可以 指定如何允许Pod与各种网络通信 “实体”(我们在此处使用“实体”一词,以避免 更常见的术语,例如“端点”和“服务”,它们具有 特定的Kubernetes含义)。
Pod可以与之通信的实体通过 以下3个标识符的组合:
允许的其他Pod(例外:Pod无法阻止对其自身的访问)
允许的命名空间
IP块(例外:始终允许往返运行Pod的节点的流量) 节点)
定义基于Pod或基于名称空间的NetworkPolicy时,请使用 选择器以指定允许和禁止来自Pod的流量 与选择器匹配。
同时,在创建基于IP的网络策略时,我们定义 基于IP块(CIDR范围)的策略。
这些主题在链接的文档中有更详细的说明。您还可以找到一些示例,这些示例将帮助您在用例中实现它。