我在GKE内部安装Issuer时遇到问题。我遵循此指南https://cert-manager.io/docs/tutorials/acme/nginx-ingress/#step-5---deploy-cert-manager。
我的步骤是:
1.通过Google Cloud Console创建自动驾驶集群
1.通过helm安装nginx ingress控制器(https://cert-manager.io/docs/tutorials/acme/nginx-ingress/#step-2-deploy-the-nginx-ingress-controller)
1.我从服务“quickstart-ingress-nginx-controller”读取了外部IP
1.我把IP放在A记录上,在我的域名的DNS区域内(通过register.it购买)
1.我成功地部署了kuard部署、服务和入口
在此之后,我尝试以两种方式安装cert-manager:
1.第一种方法是使用helm遵循此guide,但我收到错误:Error: INSTALLATION FAILED: failed post-install: timed out waiting for the condition
1.我尝试使用这个guidekubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.13.2/cert-manager.yaml
通过kubectl安装cert-manager,一切正常
在所有这些之后,我创建了文件issuer.yaml
apiVersion: cert-manager.io/v1
kind: Issuer
metadata:
name: letsencrypt-staging
spec:
acme:
# The ACME server URL
server: https://acme-staging-v02.api.letsencrypt.org/directory
# Email address used for ACME registration
email: [email protected]
# Name of a secret used to store the ACME account private key
privateKeySecretRef:
name: letsencrypt-staging
# Enable the HTTP-01 challenge provider
solvers:
- http01:
ingress:
ingressClassName: nginx
字符串
然后运行kubectl apply -f issuer.yaml
并收到以下错误:
Error from server (InternalError): error when creating "issuer.yaml":
Internal error occurred: failed calling webhook "webhook.cert-manager.io":
failed to call webhook: Post "https://cert-manager-webhook.cert-manager.svc:443/mutate?timeout=10s":
tls: failed to verify certificate: x509: certificate signed by unknown authority
型
我一步一步地跟着指南走,我错过了什么吗?
编辑27/11/2023
我在GKE上创建了一个非自动驾驶仪集群,一切似乎都正常,问题是我需要一个自动驾驶仪集群,而不是一个经典的。
2条答案
按热度按时间628mspwn1#
最后我发现问题出在autopilot集群上,对于一个我不知道的机制,nginx控制器,加上cert管理器,让我们加密和autopilot集群不能一起工作。
我创建了一个自动驾驶仪集群,一个GCE入口,现在我使用的是由谷歌创建的托管证书
snz8szmq2#
这是由于API服务器无法验证证书管理器webhook证书的真实性。
如果您的证书管理器webhook使用的是自签名证书,请将该证书添加到API服务器的受信任CA捆绑包。您还可以从受信任CA获取证书,并将证书管理器webhook配置为使用新证书。
确保cert-manager webhook正在运行,并且pod上的端口443已打开。
kubectl get pods -n cert-manager
有关更多信息,请参见document 1和document 2。