为什么我的“证书”对象和“入口”都在创建证书?

苏杰·帕迪

为什么我的“证书”对象和“入口”都在创建证书?

apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
  name: blog-app-crt
spec:
  secretName: blog-app-crt-sec
  issuerRef:
    kind: ClusterIssuer
    name: letsencrypt-prod
  commonName: blog.mydomain.com
  dnsNames:
    - blog.mydomain.com




apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
  name: letsencrypt-prod
spec:
  acme:
    # Email address used for ACME registration
    email: [email protected]
    server: https://acme-v02.api.letsencrypt.org/directory
    privateKeySecretRef:
      # Name of a secret used to store the ACME account private key
      name: letsencrypt-production-private-key
    # Add a single challenge solver, HTTP01 using nginx
    solvers:
    - http01:
        ingress:
          class: nginx


apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: ingress-service
  annotations:
    kubernetes.io/ingress.class: nginx                      
    nginx.ingress.kubernetes.io/rewrite-target: /$1         
    cert-manager.io/cluster-issuer: "letsencrypt-prod"       
    nginx.ingress.kubernetes.io/ssl-redirect: 'true'        

spec:
  tls:
    - hosts:                                                
        - blog.mydomain.com
      secretName: blog-app-crt-sec                      
      
  rules:                                                    
    - host: blog.mydomain.com                                         
      http:                                                 
        paths:                                              
          - pathType: Prefix
            path: "/?(.*)"                                    
            backend:
              service:
                name: app-1-endpoint
                port: 
                  number: 5000                            
          - pathType: Prefix
            path: "/tribute/?(.*)"
            backend:
              service:
                name: app-2-endpoint
                port: 
                  number: 5001

当我创建上述对象时,它正在创建 2 个证书对象,它们都指向相同的秘密。

  1. blog-app-crt-sec
  2. 博客应用程序crt

如何仅创建 1 个证书?如果我只创建一个没有任何自定义证书的 ClusterIssuer,那么当然可以解决问题,但我想创建一个自定义证书来控制续订内容。

安德烈亚斯·贾格尔

有一个cert-manager调用组件ingress-shim可以监视Ingress资源并Certificate在存在某些注释时自动为您创建对象。这样,您甚至不需要自己创建 Certificate 对象。

请检查相应cert-manager.io范围注释的入口定义,并使用这些或手动创建的证书。我假设您指的是入口定义中命名秘密blog-app-crtsecretName如果您不使用自动创建,这需要匹配证书规范中定义的内容

有关自动证书创建的详细信息,请查看 ingress 上的 cert-manager 文档:https : //cert-manager.io/docs/usage/ingress/

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么我的 k8s Nginx 入口控制器提供两个证书(其中一个是 Kubernetes 假证书)?

我需要创建什么类型的证书?

更新 Azure Service Fabric 证书。为什么是一级证书和二级证书?

GKE,NGINX入口,HTTPS和证书

为什么我拥有Google,Yahoo,Mozilla和其他公司的不受信任的证书?

当我的 CA 证书过期时,为什么 SSLLabs 说我的证书没问题?

为什么需要证书来创建自己的其他自签名证书

为什么我的服务器证书被拒绝?

为什么我的AWS ACM证书无法验证?

为什么我不能验证此证书链?

为什么需要SSL证书?

我的openssl和ssl默认CA证书路径是什么?

为什么setuptools不创建我的入口点?

具有GCP的kubernetes入口的多个域和SSL证书

为什么 Python 不加载 ca 证书?

为什么禁用DNSSEC以获取SSL证书?

为什么需要SSL证书固定?

为什么签署证书需要`-CAcreateserial`参数?

为什么FF 51.0.1阻止页面证书?

如何创建自己的证书和密钥文件?

签名证书和上传证书

为什么会收到“关键证书开始日期无效”的信息。尝试创建Active Directory服务主体

为什么我和我的注册始终都在突变和查询类型中?

为什么我不能创建对象实例?

无法创建我的类的对象 - 为什么?

为什么我需要在Java中导入服务器证书

为什么Python的`requests'拒绝我的SSL证书,浏览器会接受

想要sha256 ssl证书,但是我得到sha1,为什么?

为什么我的GCP负载平衡器证书停留在配置中?