在带有 LetsEncrypt 和多个证书的 AKS 上使用证书管理器

Kie*_*ron 2 azure kubernetes azure-aks cert-manager

是否有在 AKS 上使用 cert-manager 和 Nginx 入口的工作示例,其中多个域已通过 LetsEncrypt 授予 SSL,然后这些 dns 名称被定向到单独的容器?

我有一个 SSL 设置已经有一段时间了,但是在添加第二个之后,一切都停止了。

我有几个集群需要应用它,所以我希望找到一个防弹示例。

4c7*_*b41 6

我认为这不重要,我没有真正测试过,但是如果您添加 2 个具有不同域\机密的单独入口资源,它应该可以工作(至少我看不出它不应该的任何原因):

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: tls-example-ingress
  annotations:
    ingress.kubernetes.io/ssl-redirect: "true"
    kubernetes.io/tls-acme: "true"
    certmanager.k8s.io/issuer: letsencrypt-production
    kubernetes.io/ingress.class: "nginx
spec:
  tls:
  - hosts:
    - sslexample.foo.com
    secretName: testsecret-tls
  rules:
    - host: sslexample.foo.com
      http:
        paths:
        - path: /
          backend:
            serviceName: service1
            servicePort: 80

---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: tls-example-ingress
  annotations:
    ingress.kubernetes.io/ssl-redirect: "true"
    kubernetes.io/tls-acme: "true"
    certmanager.k8s.io/issuer: letsencrypt-production
    kubernetes.io/ingress.class: "nginx
spec:
  tls:
  - hosts:
    - sslexample1.foo.com
    secretName: testsecret-tls1
  rules:
    - host: sslexample1.foo.com
      http:
        paths:
        - path: /
          backend:
            serviceName: service2
            servicePort: 80
Run Code Online (Sandbox Code Playgroud)

tls 是一个数组,所以应该多于 1 个项目。不过不确定与证书管理器的交互

tls:
- hosts:
  - sslexample.foo.com
  secretName: testsecret-tls
- hosts:
  - sslexample1.foo.com
  secretName: testsecret1-tls
Run Code Online (Sandbox Code Playgroud)