在Digital Ocean Kubernetes集群上没有任何种类的ClusterIssuer匹配项

时间:2018-12-28 23:53:05

标签: kubernetes digital-ocean lets-encrypt kubectl

我一直遵循this guide创建一个效果很好的Nginx入口。

接下来,我想创建一个名为letsencrypt-staging的ClusterIssuer对象,并使用Let's Encrypt登台服务器,但会出现此错误。

kubectl create -f staging_issuer.yaml
  

错误:无法识别“ staging_issuer.yaml”:没有同类匹配项   版本“ certmanager.k8s.io/v1alpha1”中的“ ClusterIssuer”

我一直在寻找解决方案,但找不到对我有用或可以理解的任何东西。我发现的大部分是错误报告。

这是我用来创建ClusterIssuer的Yaml文件。

apiVersion: certmanager.k8s.io/v1alpha1
kind: ClusterIssuer
metadata:
 name: letsencrypt-staging
spec:
 acme:
   # The ACME server URL
   server: https://acme-staging-v02.api.letsencrypt.org/directory
   # Email address used for ACME registration
   email: your_email_address_here
   # Name of a secret used to store the ACME account private key
   privateKeySecretRef:
     name: letsencrypt-staging
   # Enable the HTTP-01 challenge provider
   http01: {}

3 个答案:

答案 0 :(得分:1)

我通过运行helm del --purge cert-manager

解决了该问题

然后

helm install --name cert-manager --namespace kube-system stable/cert-manager --set createCustomResource=true

答案 1 :(得分:0)

有时是.yaml文件中使用的空格字符。确保不使用制表符代替空格。您可以删除“种类”(或任何显示错误的内容)中的行,然后使用空格键(而不是制表符)分开再次写。

答案 2 :(得分:0)

尝试点击this链接,cert-manager LetsEncrypt已通知它将阻止版本<0.8.0的所有流量,因此您可以使用Jetstack的安装步骤,然后可以按照以下步骤进行操作

this链接可创建TLS证书,它对我有用。

如果您遇到问题,请告诉我