dns - 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 的 DNS 配置允许用户对 Pod 的 DNS 设置进行更多控制。
该
dnsConfig
字段是可选的,它可以与任何dnsPolicy
设置一起使用。但是,当 PoddnsPolicy
设置为“None
”时,dnsConfig
必须指定该字段。以下是用户可以在
dnsConfig
字段中指定的属性:
nameservers
:将用作 Pod 的 DNS 服务器的 IP 地址列表。最多可以指定 3 个 IP 地址。当 PoddnsPolicy
设置为“None”时,列表必须至少包含一个 IP 地址,否则该属性是可选的。列出的服务器将与从指定 DNS 策略生成的基本名称服务器合并,并删除重复地址。
searches
:用于在 Pod 中查找主机名的 DNS 搜索域列表。该属性是可选的。指定后,提供的列表将合并到从所选 DNS 策略生成的基本搜索域名中。重复的域名被删除。Kubernetes 最多允许 6 个搜索域。
options
:一个可选的对象列表,其中每个对象可能有一个name
属性(必需)和一个value
属性(可选)。此属性中的内容将合并到从指定 DNS 策略生成的选项中。重复条目被删除。
网络政策:
如果您想在 IP 地址或端口级别(OSI 第 3 层或第 4 层)控制流量,则可以考虑将 Kubernetes NetworkPolicies 用于集群中的特定应用程序。NetworkPolicies 是一个以应用程序为中心的构造,它允许您指定 Pod 如何与各种网络“实体”进行通信(我们在这里使用“实体”一词来避免重载更常见的术语,例如“端点”和“服务” ,具有特定的 Kubernetes 内涵)在网络上。
Pod 可以与之通信的实体通过以下 3 个标识符的组合来标识:
允许的其他 Pod(例外:Pod 不能阻止对自身的访问)
允许的命名空间
IP 块(例外:始终允许进出运行 Pod 的节点的流量,无论 Pod 或节点的 IP 地址如何)
在定义基于 pod 或命名空间的 NetworkPolicy 时,您使用选择器来指定允许进出与选择器匹配的 Pod 的流量。
同时,当创建基于 IP 的网络策略时,我们基于 IP 块(CIDR 范围)定义策略。
这些主题在链接的文档中有更详细的解释。您还可以找到一些示例来帮助您在用例中实现它。
推荐阅读
- javascript - 如何在javascript中验证文件名和文件扩展名
- sql-server - MS Access ODBC 通过 Internet 连接到 SQL Server 速度慢
- apache - 使用 Xampp localhost 设置时的 SSL 证书位置
- css - DJango 获取静态引导样式表以应用于视图
- python - 为什么我们在装饰器或嵌套函数中返回函数时不调用函数
- python - 合并到链表,但出现不寻常的 None 类型错误
- c# - 使用 ac# 对象使用 xamarin 模板,而不是显式传递它的属性值
- c# - RDLC 报告下载
- sql - pandas.read_sql 和 Oracle sql developer 输出不同的结果
- swift - 无法识别的选择器发送到实例 - UI 按钮 - Swift