使用 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 控制面板上的 负载均衡器 部分。单击 创建负载均衡器。
选择“网络负载均衡器”作为类型,然后单击 创建 按钮。
接下来,定义负载均衡器名称和 IP 地址类型为 IPv4,如下所示。
接下来,选择适当的 EKS VPC 和可用区。将侦听器协议设置为 TCP 端口 443,并将映射设置为 公共子网 和您之前创建的目标组,如下所示。
验证“摘要”部分下的信息,然后单击 创建负载均衡器,如下所示。
导航回到 EC2 上的 负载均衡器 页面,如下所示,它应该显示您已创建的网络负载均衡器。等待几分钟,直到状态变为 活动 后再继续。
负载均衡器运行后,在先前部分中从 Route 53 创建的托管区域中,创建一个带有通配符的 A 记录,如下所示。
开放端口 443 的访问权限#
要访问应用程序仪表板(对于 Keycloak、Grafana 等),请按照以下步骤启用端口 443 以访问应用程序。
导航到 EC2 控制台仪表板并选择“安全”选项卡。按照以下所示为您的集群选择安全组
选择安全组后,单击 编辑入站规则。
首先单击 添加规则,然后添加 HTTPS (端口 443) 规则,如下所示。完成后保存规则。