首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >gke和自动创建的启用http路由的域名

gke和自动创建的启用http路由的域名
EN

Stack Overflow用户
提问于 2020-11-29 08:53:46
回答 2查看 213关注 0票数 0

我需要使用GKE集群的域名来访问集群和应用程序的入口,类似于azure AKS http add-on,它提供了一个通用创建的域名(不是自定义域) https://docs.microsoft.com/en-us/azure/aks/http-application-routing在Google cloud上也有什么解决方案吗?

我们的GKE创建/删除过程是IaC工具的一部分,我们正在为开发/测试/升级自动化集群和我们的应用程序部署。而通用域的创建和将托管dns区域绑定到群集资源为我们提供了极大的灵活性。否则,我们必须创建自定义域和托管dns区域,这将是静态的,并给配置工具带来不必要的复杂性。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-01-20 23:59:54

在gke中没有通用的域名选项,所以我必须购买一个域名并根据创建的托管dns区域NS更新NS,当我通过external-dns更新gke中的入口时,它们将自动同步

我可以说我用这些步骤解决了这个问题,

1-创建一个域名属于own的托管区域,并确保它具有从您创建的dns区域访问域的权限。Mean正在为您的dns区域所在的google项目提供访问权限

注意:创建群集时,请确保为托管dns区域提供读写权限的作用域

代码语言:javascript
运行
复制
gcloud container clusters create “external-dns” \
    —num-nodes 1 \
    —scopes “https://www.googleapis.com/auth/ndev.clouddns.readwrite

创建将包含托管DNS记录的DNS区域。

代码语言:javascript
运行
复制
$ gcloud dns managed-zones create “xxx.test-dev” \
    —dns-name “xxx.test.dev.” \
    —description “Automatically managed zone by kubernetes.io/external-dns test.dev domain name”

2-请将资源部署到名为external-dns的网关引擎上

代码语言:javascript
运行
复制
https://github.com/kubernetes-sigs/external-dns/blob/master/docs/tutorials/gke.md#deploy-externaldns

并使用以下命令检查日志

代码语言:javascript
运行
复制
kubectl logs $(kubectl get pods --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' | grep dns)

代码语言:javascript
运行
复制
kubectl logs $(kubectl get pods --no-headers -o custom-columns=":metadata.name" | grep dns)

如果你看到的东西是一切都很顺利

代码语言:javascript
运行
复制
time="2021-01-20T11:37:46Z" level=info msg="Add records: xxx.test.dev. A [34.89.xx.xx] 300"
time="2021-01-20T11:37:46Z" level=info msg="Add records: xxx.test.dev. TXT [\"heritage=external-dns,external-dns/owner=my-identifier,external-dns/resource=ingress/default/ingress-test\"] 300"
time="2021-01-20T11:38:47Z" level=info msg="All records are already up to date"

备注在A记录旁边创建了TXT记录。TXT记录表示对应的A记录由ExternalDNS管理。这使得ExternalDNS可以安全地在存在通过其他方式管理的其他记录的环境中运行。让我们检查一下是否可以解析此DNS名称。我们将首先询问分配给您的区域的名称服务器。

代码语言:javascript
运行
复制
$ dig +short @ns-cloud-e1.googledomains.com. xxx.test.dev.
104.155.xx.xx

并且您可以检查域名的ip是否正确或有问题

代码语言:javascript
运行
复制
host https://xxx.test.dev/        
Host https://xxx.test.dev/ not found: 3(NXDOMAIN)

它可以被投诉床域一段时间,但然后你会得到正确的回应

代码语言:javascript
运行
复制
host xxx.test.dev
xxx.test.dev has address 35.197.xx.xx
票数 0
EN

Stack Overflow用户

发布于 2020-12-11 23:01:42

GCP没有实现这样的资源,但是可以使用可用的Cloud DNS 1之一自动执行此操作,例如,使用ResourceRecordSets 2将A记录配置到您想要分配给主机的ManagedZone,并在创建入口控制器之后编写此配置脚本。

例如,检索分配给发出类似kubectl describe ing <ingress-name> |grep “Address:” |awk ‘{print $2}’的命令的入口控制器的IP地址,而不是使用IP信息来构造API体请求3

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65055951

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档