我已经关注GCP 指南为我的子域名创建托管 SSL 证书<subdomain>.<domain>.dev
。
我的域名注册商配置了 NS 记录:
ns-cloud-d1.googledomains.com.
ns-cloud-d2.googledomains.com.
ns-cloud-d3.googledomains.com.
ns-cloud-d4.googledomains.com.
我的 GCP 项目正在使用 Cloud DNS 管理域名,其条目如下:
<domain>.dev. MX 3600
10 eforward1.registrar-servers.com.
10 eforward2.registrar-servers.com.
10 eforward3.registrar-servers.com.
15 eforward4.registrar-servers.com.
20 eforward5.registrar-servers.com.
<domain>.dev. NS 21600
ns-cloud-d1.googledomains.com.
ns-cloud-d2.googledomains.com.
ns-cloud-d3.googledomains.com.
ns-cloud-d4.googledomains.com.
<domain>.dev. SOA 3601
ns-cloud-d1.googledomains.com. <mail>. 2019032900 86400 7200 3600000 3601
<domain>.dev. TXT 3600
"v=spf1" "include:spf.efwd.registrar-servers.com" "~all"
<subdomain>.<domain>.dev. A 7200
<ingress-ip>
www.<domain>.dev. CNAME 1799
<domain>.dev.
Pinging<subdomain>.<domain>.dev
解析目标 Ingress 的预期 IP,并向应用程序发出请求并http://<subdomain>.<domain>.dev
正常运行。
那么为什么托管证书配置会失败呢FAILED_NOT_VISIBLE
?
答案1
我的错误是在 Ingress 中引用了错误的静态 IP 资源名称。
创建 Ingress 时,会创建一个新的全局静态 IP。出于某种原因,它使用自动生成的名称(如)k8s-fw-myapp-myapp-api--3b52739e6d618a1f
,而不是我为其指定的人类可读名称。
将 Ingress 注释更改kubernetes.io/ingress.global-static-ip-name
为自动生成的名称可解决该问题。