如何实现cert-manager自动发布https证书

容器与中间件容器服务技术服务知识库
问题描述

每创建一个ingress资源,然后手动创建Certificate比较麻烦,如何实现在创建ingress的时候自动发布证书。

问题分析

cert-manager提供了在ingress资源中添加annotations的方式实现自动发布https证书。

问题解决

1.部署ingress-nginx参考此链接。 2.部署cert-manager参考此链接。 3.创建issuer,此处采用NDS01的方式,参考此链接。 4.创建ingress。

$ cat test-nginx-ingress.yaml 
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: tls-example-ingress-test
  namespace: default
  annotations:
    cert-manager.io/cluster-issuer: <issuers-name> # 改成issuer或clusterissuer名字
spec:
  ingressClassName: nginx     
  tls:
  - hosts:
      - test.xxx.cn
    secretName: tls-example-ingress-test
  rules:
  - host: test.xxx.cn
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: ngx-service
            port:
              number: 80

$ kubectl apply -f test-nginx-ingress.yaml 

4.查看资源对象

$ kubectl get certificate -n default -owide 
$ kubectl get certificaterequests.cert-manager.io -n default -owide
$ kubectl get orders.acme.cert-manager.io -n default -owide
$ kubectl get secrets -n default -n default -owide
参考链接

[1] https://cert-manager.io/docs/usage/ingress/ 如果您有其他问题,欢迎您联系火山引擎技术支持服务

60
0
0
0
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论