如何使 Google 计算云应用程序从域可见,而不仅仅是原始 IP 地址?
How to make a Google Compute Cloud app visible from a domain not just a raw IP address?
我已经使用 google 计算云部署了一个应用程序,它可以从原始的临时 IP 地址中看到...如何 link 这个临时 IP 到我的域?
为了方便起见,我在 Google Domains
注册了域 ( mydomain.org )
我在我的托管区域中添加了 A 类记录集:
gcloud dns managed-zones describe myzone
creationTime: '2016-03-28T23:05:31.385Z'
description: just another zone
dnsName: mydomain.org.
id: '2379583277824599330'
kind: dns#managedZone
name: myzone
nameServers:
- ns-cloud-e1.googledomains.com.
- ns-cloud-e2.googledomains.com.
- ns-cloud-e3.googledomains.com.
- ns-cloud-e4.googledomains.com.
从这里您可以看到原始 IP (111.222.333.444),其中可以从
看到该应用
gcloud dns record-sets list --zone myzone
NAME TYPE TTL DATA
mydomain.org. A 5 111.222.333.444
mydomain.org. NS 6 ns-cloud-e1.googledomains.com., ns-cloud-e2.googledomains.com., ns-cloud-e3.googledomains.com., ns-cloud-e4.googledomains.com.
mydomain.org. SOA 6 ns-cloud-e1.googledomains.com. cloud-dns-hostmaster.google.com. 1 21600 3600 1209600 300
然而当我做
curl mydomain.org
它只是响应(类似于浏览器)
curl: (6) Could not resolve host: mydomain.org
然而使用原始 IP 它正确连接到云应用程序
curl 111.222.333.444
这里我展示了一些命令行 DNS 查找
nslookup mydomain.org ns-cloud-e1.googledomains.com.
输出
Server: ns-cloud-e1.googledomains.com.
Address: 216.239.32.110#53
Name: mydomain.org
Address: 111.222.333.444
我错过了什么?我缺少的 gcloud dns
命令是什么?该过程将是:将应用程序部署到临时 IP -> 向 link 这个 IP 发出未知命令到域...我希望能够在每次部署(一个新的临时 IP)后从我的应用程序仍然在开发...我不想要静态 IP
我使用命令行工具 gcloud 和 kubectl 部署了该应用程序,因此它是一个 Google 计算 (IaaS) 应用程序而不是 Google App Engine (PaaS) 应用程序
我几天前注册了域名,所以域名已经传播
由于 Cloud DNS 域名服务器似乎乐于解析域,我会仔细检查 Cloud DNS 是否实际设置为您域的域名服务器:
$ dig NS mydomain.org.
这是通常适用于托管服务提供商的解决方案。它涉及在创建域(域注册商)和部署应用程序的位置之间来回切换:
- 在您的域名注册商处创建您的域名...忽略其名称服务器列表...您将用新的 LIST 替换原始列表
- 无论您在何处部署您的应用程序,都将提供定义某种 DNS 托管区域的能力...为您的域创建一个新区域,该区域将自动填充一个新的 LIST 的名称服务器...复制此 LIST
- 返回您的域名注册商并使用 LIST[=28 为您的域(记录类型 NS)更新其名称服务器=]
- 部署您的应用程序,这将显示一个全新的 IP
- 进入 DNS 托管区域并使用这个新 IP 更新您的 A 类记录
我已经使用 google 计算云部署了一个应用程序,它可以从原始的临时 IP 地址中看到...如何 link 这个临时 IP 到我的域?
为了方便起见,我在 Google Domains
注册了域 ( mydomain.org )我在我的托管区域中添加了 A 类记录集:
gcloud dns managed-zones describe myzone
creationTime: '2016-03-28T23:05:31.385Z'
description: just another zone
dnsName: mydomain.org.
id: '2379583277824599330'
kind: dns#managedZone
name: myzone
nameServers:
- ns-cloud-e1.googledomains.com.
- ns-cloud-e2.googledomains.com.
- ns-cloud-e3.googledomains.com.
- ns-cloud-e4.googledomains.com.
从这里您可以看到原始 IP (111.222.333.444),其中可以从
看到该应用gcloud dns record-sets list --zone myzone
NAME TYPE TTL DATA
mydomain.org. A 5 111.222.333.444
mydomain.org. NS 6 ns-cloud-e1.googledomains.com., ns-cloud-e2.googledomains.com., ns-cloud-e3.googledomains.com., ns-cloud-e4.googledomains.com.
mydomain.org. SOA 6 ns-cloud-e1.googledomains.com. cloud-dns-hostmaster.google.com. 1 21600 3600 1209600 300
然而当我做
curl mydomain.org
它只是响应(类似于浏览器)
curl: (6) Could not resolve host: mydomain.org
然而使用原始 IP 它正确连接到云应用程序
curl 111.222.333.444
这里我展示了一些命令行 DNS 查找
nslookup mydomain.org ns-cloud-e1.googledomains.com.
输出
Server: ns-cloud-e1.googledomains.com.
Address: 216.239.32.110#53
Name: mydomain.org
Address: 111.222.333.444
我错过了什么?我缺少的 gcloud dns
命令是什么?该过程将是:将应用程序部署到临时 IP -> 向 link 这个 IP 发出未知命令到域...我希望能够在每次部署(一个新的临时 IP)后从我的应用程序仍然在开发...我不想要静态 IP
我使用命令行工具 gcloud 和 kubectl 部署了该应用程序,因此它是一个 Google 计算 (IaaS) 应用程序而不是 Google App Engine (PaaS) 应用程序
我几天前注册了域名,所以域名已经传播
由于 Cloud DNS 域名服务器似乎乐于解析域,我会仔细检查 Cloud DNS 是否实际设置为您域的域名服务器:
$ dig NS mydomain.org.
这是通常适用于托管服务提供商的解决方案。它涉及在创建域(域注册商)和部署应用程序的位置之间来回切换:
- 在您的域名注册商处创建您的域名...忽略其名称服务器列表...您将用新的 LIST 替换原始列表
- 无论您在何处部署您的应用程序,都将提供定义某种 DNS 托管区域的能力...为您的域创建一个新区域,该区域将自动填充一个新的 LIST 的名称服务器...复制此 LIST
- 返回您的域名注册商并使用 LIST[=28 为您的域(记录类型 NS)更新其名称服务器=]
- 部署您的应用程序,这将显示一个全新的 IP
- 进入 DNS 托管区域并使用这个新 IP 更新您的 A 类记录