mar*_*ins 6 ssl google-cloud-platform google-kubernetes-engine gke-networking
我正在尝试在GKE上配置https负载均衡器。我正在追踪:https : //cloud.google.com/load-balancing/docs/ssl-certificates和https://cloud.google.com/kubernetes-engine/docs/concepts/ingress
我的配置已经使用Let's Encrypt的证书工作了一段时间。但是,每次都需要续订证书太麻烦了,所以我想测试Google的托管服务。
到目前为止,这就是我设置的方式,但是仍然存在FAILED_NOT_VISIBLE
。关于如何进一步修复或调试的任何想法?
k8s / staging / staging-ssl.yml
7 apiVersion: extensions/v1beta1
8 kind: Ingress
9 metadata:
10 name: my-staging-lb-ingress
11 annotations:
12 kubernetes.io/ingress.global-static-ip-name: "my-staging-global"
13 ingress.gcp.kubernetes.io/pre-shared-cert: "staging-google-managed-ssl"
14 kubernetes.io/ingress.allow-http: "false"
15 spec:
16 rules:
17 - host: staging.my-app.no
18 http:
19 paths:
20 - path: /*
21 backend:
22 serviceName: my-svc
23 servicePort: 3001
Run Code Online (Sandbox Code Playgroud)
预留IP
$ gcloud compute addresses list
NAME REGION ADDRESS STATUS
my-staging-global 35.244.160.NNN RESERVED
$ host staging.my-app.no
35.244.160.NNN
Run Code Online (Sandbox Code Playgroud)
$ gcloud beta计算SSL证书描述了staging-google-managed-ssl
creationTimestamp: '2018-12-20T04:59:39.450-08:00'
id: 'NNNN'
kind: compute#sslCertificate
managed:
domainStatus:
staging.my-app.no: FAILED_NOT_VISIBLE
domains:
- staging.my-app.no
status: PROVISIONING
name: staging-google-managed-ssl
selfLink: https://www.googleapis.com/compute/beta/projects/my-project/global/sslCertificates/staging-google-managed-ssl
type: MANAGED
Run Code Online (Sandbox Code Playgroud)
我在将SSL证书资源与目标代理相关联的文章开头找到了我链接到的文档中的一部分 :
使用以下gcloud命令将SSL证书资源与目标代理相关联,无论SSL证书是自我管理的还是Google管理的。
gcloud compute target-https-proxies create [NAME] \
--url-map=[URL_MAP] \
--ssl-certificates=[SSL_CERTIFICATE1][,[SSL_CERTIFICATE2],[SSL_CERTIFICATE3],...]
Run Code Online (Sandbox Code Playgroud)
当我在Ingress配置中添加此行时,这是否必要?
13 ingress.gcp.kubernetes.io/pre-shared-cert: "staging-google-managed-ssl"
Nic*_*ini 12
我要把这个留给那些可能和我有同样情况的人。我需要从自我管理的证书迁移到谷歌管理的证书。
我确实按照指南创建了谷歌管理的证书,并希望在将证书应用于我的 Kubernetes 入口之前看到它被激活(以避免停机的可能性)
事实证明,正如文档所述,
目标代理必须引用 Google 管理的证书资源
因此应用配置kubectl apply -f ingress-conf.yaml
使负载均衡器使用新创建的证书,该证书在不久后(15 分钟左右)变为活动状态
我最近遇到了这个问题。您需要检查您的 A Record 是否正确指向 Ingress 静态 IP。
如果您使用的是 Cloudflare 之类的服务,请禁用 Cloudflare 代理设置,以便 ping 域将提供 Ingress 的实际 IP。这将在 10 到 15 分钟内正确创建 Google Managed SSL 证书。
证书启动后,您可以再次启用 Cloudflare 代理设置。
在检查了这里的答案后,对我有用的是什么(我使用了负载均衡器,但在我看来,这对于所有情况都是正确的):
归档时间: |
|
查看次数: |
3596 次 |
最近记录: |