全部产品
Search
文档中心

企业级分布式应用服务 EDAS:配置DNS

更新时间:Feb 04, 2024

在Kubernetes中,为应用配置Pod的DNS策略可以控制Pod如何访问DNS服务,以及如何处理DNS解析,确保Pod能够找到其他服务并与服务通信。本文介绍在创建应用时,如何为应用设置Pod的DNS策略、DNS配置和域名别名。

操作步骤

  1. 登录EDAS控制台,在左侧导航栏,单击应用管理 > 应用列表,在顶部菜单栏选择地域并在页面上方选择所属微服务空间,然后在应用列表页面左上角,单击创建应用

  2. 应用基本信息页签,完成相关配置后,单击下一步

  3. 应用配置页签,设置应用的环境信息、基本信息、部署方式和资源参数,设置完成后单击下一步

  4. 应用高级设置页签展开DNS配置,并根据您的业务需求配置DNS,然后在页面最下方单击下一步

    配置项

    描述

    DNS策略(dnsPolicy)

    目前支持通过DNS策略(dnsPolicy)字段为每个Pod配置不同的DNS策略。

    • ClusterFirst:通过CoreDNS做域名解析,Pod内/etc/resolv.conf配置的DNS服务地址是集群DNS服务的kube-dns地址。该策略是集群工作负载的默认策略。

    • ClusterFirstWithHostNet:结合hostNetwork网络模式使用,使Pod既能解析Kubernetes内部服务的域名,也能解析外部域名。

    • Default:Pod直接继承集群节点的域名解析配置。即在集群中直接使用ECS的/etc/resolv.conf文件(文件内配置的是阿里云DNS服务)。

    • None:忽略集群DNS策略,需要您提供DNS配置(dnsConfig)字段来指定DNS配置信息。

    DNS配置(dnsConfig)

    DNS配置(dnsConfig)中的参数说明如下:

    • nameserver:将用作Pod的DNS服务器的IP地址列表。最多可以指定3个IP地址。

      说明

      当Pod的DNS策略(dnsPolicy)设置为None时,列表必须至少包含一个IP地址,否则此属性是可选的。列出的DNS的IP列表将合并到基于DNS策略(dnsPolicy)生成的域名解析文件的nameserver字段中,并删除重复的地址。

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

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

    域名别名(hostAliases)

    通过hostAliases允许为Pod中的hosts文件增加本地域名解析条目。

    • IP地址:主机列表被解析到的目标IP地址。

    • 主机名:将指定的主机解析到IP地址,多个主机名通过英文半角逗号(,)分隔。

  5. 完成设置后单击创建应用

    1. 完成设置后单击创建应用,然后在应用创建完成页签,单击确定创建应用

    2. 应用变更预检确认对话框,单击开始预检

      1. 应用变更预检确认的下一页,确认预检项和预检结果,单击继续

      2. 可选:如您有更改以上预检项,请单击重新检测

      应用创建可能需要几分钟,创建过程中,可以通过查看变更记录跟踪应用的创建流程。创建完成后,返回应用总览页面,查看实例Pod的运行状态。若运行状态运行中,说明应用发布成功。单击Pod的运行状态可以查看应用实例的工作负载(Deployment)容器组(Pod)和高级配置信息。

验证结果

  1. 应用总览页面,在基本信息区域,单击运行状态右侧的点击查看

  2. 容器组(Pod)区域,选择需要验证的Pod,单击操作列的终端

  3. 在终端页面,执行以下命令,查看DNS设置是否已被写入到/etc/resolv.conf文件中。

    cat /etc/resolv.conf

相关文档