2

我正在从 GitLab 管理的 Kubernetes 集群迁移到自我管理的集群。在这个自我管理的集群中需要安装 nginx-ingress 和 cert-manager。我已经设法为用于审查环境的集群做同样的事情。我使用最新的 Helm3 RC 来管理这个,所以我不需要 Tiller。

到目前为止,我运行了这些命令:

# Add Helm repos locally
helm repo add stable https://kubernetes-charts.storage.googleapis.com
helm repo add jetstack https://charts.jetstack.io

# Create namespaces
kubectl create namespace managed
kubectl create namespace production

# Create cert-manager crds
kubectl apply --validate=false -f https://raw.githubusercontent.com/jetstack/cert-manager/release-0.11/deploy/manifests/00-crds.yaml

# Install Ingress
helm install ingress stable/nginx-ingress --namespace managed --version 0.26.1

# Install cert-manager with a cluster issuer
kubectl apply -f config/production/cluster-issuer.yaml
helm install cert-manager jetstack/cert-manager --namespace managed --version v0.11.0

这是我的cluster-issuer.yaml

# Based on https://docs.cert-manager.io/en/latest/reference/issuers.html#issuers
apiVersion: cert-manager.io/v1alpha2
kind: ClusterIssuer
metadata:
  name: letsencrypt-prod
spec:
  acme:
    server: https://acme-v02.api.letsencrypt.org/directory
    email: XXX # This is an actual email address in the real resource
    privateKeySecretRef:
      name: letsencrypt-prod
    solvers:
      - selector: {}
        http01:
          ingress:
            class: nginx

我安装了自己的 Helm 图表,名为docs. Helm 图表中的所有资源都按预期安装。使用 cURL,我可以通过 HTTP 获取页面。谷歌浏览器将我重定向到证书无效的 HTTPS 页面。

已创建其他以下资源:

$ kubectl get secrets                    
NAME                         TYPE                                  DATA   AGE
docs-tls                     kubernetes.io/tls                     3      18m
$ kubectl get certificaterequests.cert-manager.io                           
NAME                 READY   AGE
docs-tls-867256354   False   17m
$ kubectl get certificates.cert-manager.io 
NAME       READY   SECRET     AGE
docs-tls   False   docs-tls   18m
$ kubectl get orders.acme.cert-manager.io        
NAME                            STATE     AGE
docs-tls-867256354-3424941167   invalid   18m

似乎一切都被无效状态的 cert-manager 命令阻止。为什么会无效?我该如何解决这个问题?

4

1 回答 1

2

事实证明,除了正确的 DNSA记录之外@,还有一些AAAA记录指向我不知道的 IPv6 地址。删除这些记录并重新部署为我解决了这个问题。

于 2019-11-14T11:50:32.600 回答