首页 > 解决方案 > 使用 Cert-Manager、NGINX Ingress 和 Let's Encrypt 为 Kubernetes 服务配置 TLS/SSL

问题描述

我提前为我的英语道歉。

因此,我需要在 Ingress 中配置与我的服务的安全连接。在虚拟机 Azure 上注册的 DNS 名称 (sh220.westeurope.cloudapp.azure.com)。指导:https ://docs.microsoft.com/en-us/azure/virtual-machines/windows/portal-create-fqdn

但...

...“未找到域“sh220.westeurope.cloudapp.azure.com”的求解器配置。确保您已使用 certificate.spec.acme.config 字段配置质询机制”...

什么是“挑战机制”?我究竟做错了什么?

kubectl 描述证书事件:

Events:
Type    Reason       Age              From          Message
----    ------       ----             ----          -------
Normal  CreateOrder  3s (x5 over 1h)  cert-manager  Created new ACME order, attempting validation...

证书

apiVersion: certmanager.k8s.io/v1alpha1
kind: Certificate
metadata:
  name: mysh220-cert
  namespace: default
spec:
  secretName: mysh220-cert-tls
  issuerRef:
    name: letsencrypt-staging
  commonName: sh220.westeurope.cloudapp.azure.com
  dnsNames:
  - sh220.westeurope.cloudapp.azure.com
  acme:
    config:
    - http01:
        ingress: sh220-ingress
      domains:
      - westeurope.cloudapp.azure.com

在入口规范中:

host: sh220.westeurope.cloudapp.azure.com
tls:
  - secretName: mysh220-cert-tls
    hosts: 
      - sh220.westeurope.cloudapp.azure.com

证书管理器-v0.4.1

谢谢你的帮助。

标签: azurekubernetesssl-certificatekubernetes-ingress

解决方案


我的问题的解决方案很简单: https ://docs.microsoft.com/en-us/azure/aks/ingress


推荐阅读