启用专用访问后无法访问 VPC 内的 EKS api 服务器端点

Can't access EKS api server endpoint within VPC when private access is enabled

我已经设置了启用 "private access" 的 EKS cluser,并在同一 VPC 中设置了一个实例以与 EKS 通信。问题是如果我启用 "public access",我可以访问 api 端点。但是,如果我禁用 public 访问并启用私有访问,我将无法访问 api 个端点。

启用私人访问时:

kubectl get svc
Unable to connect to the server: dial tcp: lookup randomstring.region.eks.amazonaws.com on 127.0.0.53:53: no such host

启用 public 访问时:

kubectl get svc
NAME         TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE
kubernetes   ClusterIP   172.20.0.1   <none>        443/TCP   57m

我必须为我的 VPC 启用 enableDnsHostnamesenableDnsSupport

启用集群的私有访问时,EKS 会创建一个私有托管区域并与同一 VPC 关联。它由 AWS 自己管理,您无法在您的 aws 帐户中查看它。因此,此私有托管区域要正常工作,您的 VPC 必须将 enableDnsHostnamesenableDnsSupport 设置为 true

注意:稍等片刻(大约 5 分钟)才能反映更改。