首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用cert-manager和HAProxy-ingress部署letsencryp

如何使用cert-manager和HAProxy-ingress部署letsencryp
EN

Stack Overflow用户
提问于 2019-11-19 22:50:25
回答 2查看 1.1K关注 0票数 0

深入搜索www,没有找到答案:我想知道如何将cert-manager与haproxy-ingress一起使用,并让加密。

是否有任何文档/指南?

EN

回答 2

Stack Overflow用户

发布于 2019-11-20 01:52:34

你可以尝试安装由jetstack提供的证书管理器,可以找到here,然后你需要遵循这个stackoverflow post中提到的步骤,这将为你排序。

内部acme-challenge将由证书管理器完成,一旦您将证书中提到的秘密名称修补到入口的TLS,则证书状态将变为就绪状态,请注意,秘密将自动创建,您不需要创建它。

票数 1
EN

Stack Overflow用户

发布于 2021-07-05 01:30:20

带有kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v1.4.0/cert-manager.yaml

  1. Deploy Certmanager

kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v1.4.0/cert-manager.crds.yaml

  1. Deploy a ClusterIssuer (群集颁发者与命名空间无关)

代码语言:javascript
复制
cat > prod-issuer.yaml <<EOF
apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
  name: letsencrypt-prod
spec:
  acme:
    server: https://acme-v02.api.letsencrypt.org/directory
    email: email@example.com
    privateKeySecretRef:
      name: letsencrypt-prod
    solvers:
    - http01:
        ingress:
          class: haproxy
EOF

使用kubectl apply -f prod-issuer.yaml应用群集颁发者

  1. Create an Ingress Resource (namespace gnostic,本例使用Nginx后端服务)

代码语言:javascript
复制
cat > nginx-ingress.yaml <<EOF
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: nginx-router
  namespace: production
  annotations:
    kubernetes.io/ingress.class: "haproxy"
    cert-manager.io/cluster-issuer: "letsencrypt-prod"
spec:
  tls:
  - hosts:
    - "example.com"
    secretName: nginx-tls-secret
  rules:
  - host: example.com
    http:
      paths:
      - pathType: ImplementationSpecific
        path: "/"
        backend:
          service:
            name: nginx
            port: 
              number: 80
  - host: www.example.com
    http:
      paths:
      - pathType: ImplementationSpecific
        path: "/"
        backend:
          service:
            name: nginx
            port: 
              number: 80
EOF

使用kubectl apply -f nginx-ingress.yaml应用入口资源

这里的重要信息是Haproxy控制器不需要nginx- acme.cert-manager.io/http01-edit-in-place: "true"控制器需要的注释。它可以像预期的那样工作,不需要任何额外的注释。当您将Ingress资源应用于集群时,证书将在1-2分钟内颁发。使用kubectl describe certificate nginx-tls-secret -n production检查证书的状态,并查看获取证书的事件。

如需更多调试信息,以防出现问题,请参阅此处https://cert-manager.io/docs/faq/acme/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58936695

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档