我尝试在GKE集群(版本1.21.5-gke.1302)中使用ingress和cert-manager来公开ArgoCD,但是证书没有颁发。
重现步骤:
>
安装证书管理器应用此 yaml
在运行helm的情况下安装ngin x入口控制器:helm安装my-发布ngin x-稳定/ngin x-入口
应用以下内容创建集群颁发者:
apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
name: letsencrypt-cluster-issuer
spec:
acme:
email: example@email.com
server: https://acme-v02.api.letsencrypt.org/directory
privateKeySecretRef:
name: letsencrypt-cluster-issuer-key
solvers:
- http01:
ingress:
class: nginx
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: argocd-server-ingress
namespace: argocd
annotations:
cert-manager.io/cluster-issuer: letsencrypt-prod
kubernetes.io/ingress.class: nginx
kubernetes.io/tls-acme: "true"
nginx.ingress.kubernetes.io/ssl-passthrough: "true"
# If you encounter a redirect loop or are getting a 307 response code
# then you need to force the nginx ingress to connect to the backend using HTTPS.
#
nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
spec:
rules:
- host: argocd.example.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: argocd-server
port:
name: https
tls:
- hosts:
- argocd.example.com
secretName: argocd-secret # do not change, this is provided by Argo CD
预期行为:我期望证书被成功创建并可以访问应用程序。
当前状态:
证书描述给了我这个:
Conditions:
Last Transition Time: 2022-01-18T14:10:14Z
Message: Existing issued Secret is not up to date for spec: [spec.dnsNames]
Observed Generation: 3
Reason: SecretMismatch
Status: False
Type: Ready
Last Transition Time: 2022-01-18T14:10:14Z
Message: Issuing certificate as Secret was previously issued by Issuer.cert-manager.io/
Observed Generation: 1
Reason: IncorrectIssuer
Status: True
Type: Issuing
Next Private Key Secret Name: argocd-secret-ccjtv
Not After: 2023-01-18T13:39:24Z
Not Before: 2022-01-18T13:39:24Z
Renewal Time: 2022-09-18T21:39:24Z
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Requested 16m cert-manager Created new CertificateRequest resource "argocd-secret-qm469"
Normal Requested 15m cert-manager Created new CertificateRequest resource "argocd-secret-9ctn4"
Normal Reused 7m19s (x2 over 45h) cert-manager Reusing private key stored in existing Secret resource "argocd-secret"
最后,我可以通过质询访问提供的url,但状态待定,原因如下:等待HTTP-01质询传播:未能执行自检GET请求
有人知道可能出了什么问题吗?非常感谢。
谢谢!
我认为你需要具体说明:
apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
name: letsencrypt-cluster-issuer
spec:
acme:
email: example@email.com
server: https://acme-v02.api.letsencrypt.org/directory
privateKeySecretRef:
name: argocd-secret # HERE use secrets created by ArgoCD
solvers:
- http01:
ingress:
class: nginx
看起来您在ArgoCD的入口规则中有一个不同的群集问题名称。在ClusterIssuer清单中的示例中:
apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
name: letsencrypt-cluster-issuer
并从入口规则
annotations:
cert-manager.io/cluster-issuer: letsencrypt-prod
我正在努力与库伯内特斯集群中的TLS合作。我关注了MS文档“在Azure Kubernetes服务上创建HTTPS入口控制器”(https://docs.microsoft.com/en-us/azure/aks/ingress-tls). 我部署了一个nginx入口控制器,添加了DNS记录并安装了证书管理器。我创建了一个自签名的CA ClusterIssuer,还创建了2个演示应用程序。 当我创
我有一个EV证书为我的网站的多个子域。允许的域列表包括: 我希望使用一个具有自定义CNAME为和EV ssl证书的Cloudfront CDN。但是每当我试图在AWS证书管理器中导入它时,我都会得到以下错误。 我的证书就像
名为“selfsign”的群集颁发者 由秘密“测试”支持的有效自签名证书 正常运行的nginx入口部署 一个健康运行的负载平衡器型入口服务
你好,我是库伯内特的新手,试着设置我的第一个环境。我想要以下方案: < li >我的组织拥有公共IP (x.x.x.x) < li >此IP路由到带有win服务器IIS的专用局域网(即< code>192.168.0.10)中的服务器。在IIS上,我有URL重写模块,它充当反向代理 < li >我有kubernetes集群 < li >我在k8s上部署了一些服务 < li >我想通过SSL从int
我使用nginx入口控制器在GKE上设置了一个新的kubernetes集群。TLS不起作用,它在使用假证书。 有很多配置细节,所以我做了一个回购https://github.com/jobevers/test_ssl_ingress 简而言之,步骤是 创建一个没有GKE负载均衡器的新集群 用我的密钥和证书创建一个tls秘密 创建一个nginx入口部署/pod 创建入口控制器 nginx-ingre
是的,弹性豆茎应用程序是负载平衡的,并且确实有一个与之相关联的ELB。 我知道我可以直接应用于ELB我自己。但是我想通过弹性豆茎来应用它,这样env配置就保存到云形成模板上了。