使用 Amazon Route 53 的 DNS 配置#

除了集群本身的 DNS A 记录之外,还必须为集群创建通配符 DNS A 记录。如果可能,反向查找 PTR 记录也应该存在于这两个条目中。一个通配符 FQDN 示例可能如下所示:*.my-cluster.my-domain.com. 记下此 FQDN 以备后用。

如果安装了某些内置服务,则将在安装程序中使用此通配符域来配置对这些服务的访问

  • Keycloak 将在以下位置可用:auth.my-cluster.my-domain.com

  • Grafana 将在以下位置可用:dashboards.my-cluster.my-domain.com

  • 可以配置其他入口规则以提供对其他服务的访问。

注意

DNS 条目必须可由客户端和集群解析

注意

如果集群包含多个节点,则必须创建负载均衡器以平衡跨集群节点的请求。DNS 条目应指向负载均衡器,而不是集群节点。

创建域和托管区域#

以下步骤假设您已创建 Route 53 域,有关更多信息,请参阅 https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/domain-register.html#domain-register-procedure

  • 拥有域后,创建一个托管区域。

直接为系统创建 DNS 记录#

应执行以下步骤来创建直接指向已创建系统的 DNS 记录。这应该仅用于开发目的的单节点 VMI。

  • 在托管区域内,按照以下所示使用系统的公共 IP 地址创建一个带有通配符的 A 记录。

  • 公共 IP 地址可以从控制台检索,如下所示。

为集群负载均衡器创建 DNS 记录#

应执行以下步骤来创建指向集群负载均衡器实例的 DNS 记录。这应该与 EKS 或多节点 K8S 集群一起使用。

应执行以下步骤来代替上述步骤。

  • 通过导航到 EC2 控制面板页面,选择 目标组,然后单击 创建目标组 来为 EC2 实例创建目标组,如下所示。

  • 选择目标类型为 实例,并定义目标组名称,如下所示。

  • 选择协议为 TCP,端口为 443,然后为您的集群选择适当的 EKS VPC。为运行状况检查协议选择 TCP,然后单击 下一步,如下所示。

  • 然后您应该看到“已注册目标”页面,其中列出了可用实例,如下所示。选择适当的实例,然后单击 包含为待处理,如下所示。然后您应该在 查看目标 部分下看到这些实例。

  • 接下来,单击 创建目标组,如下所示。

  • 然后您应该在 EC2 控制面板的 目标组 部分下看到您创建的目标组。

    _images/cloud-eks-21.png
  • 创建目标组后,现在导航到 EC2 控制面板上的 负载均衡器 部分。单击 创建负载均衡器

  • 选择“网络负载均衡器”作为类型,然后单击 创建 按钮。

  • 接下来,定义负载均衡器名称和 IP 地址类型为 IPv4,如下所示。

  • 接下来,选择适当的 EKS VPC 和可用区。将侦听器协议设置为 TCP 端口 443,并将映射设置为 公共子网 和您之前创建的目标组,如下所示。

  • 验证“摘要”部分下的信息,然后单击 创建负载均衡器,如下所示。

  • 导航回到 EC2 上的 负载均衡器 页面,如下所示,它应该显示您已创建的网络负载均衡器。等待几分钟,直到状态变为 活动 后再继续。

  • 负载均衡器运行后,在先前部分中从 Route 53 创建的托管区域中,创建一个带有通配符的 A 记录,如下所示。

    选择“别名”作为类型,然后选择先前创建的适当区域和负载均衡器。

    _images/cloud-eks-15.png

开放端口 443 的访问权限#

要访问应用程序仪表板(对于 Keycloak、Grafana 等),请按照以下步骤启用端口 443 以访问应用程序。

  • 导航到 EC2 控制台仪表板并选择“安全”选项卡。按照以下所示为您的集群选择安全组

  • 选择安全组后,单击 编辑入站规则

  • 首先单击 添加规则,然后添加 HTTPS (端口 443) 规则,如下所示。完成后保存规则。