首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用wildcart证书替换"Kubernetes伪证书“(裸机私有云上) Nginx Ingress和证书管理器

如何用wildcart证书替换"Kubernetes伪证书“(裸机私有云上) Nginx Ingress和证书管理器
EN

Stack Overflow用户
提问于 2019-04-15 16:15:28
回答 2查看 8.7K关注 0票数 4

我们已经在裸机服务器上设置了Kubernetes集群。

我们部署我们的应用程序,其中每个命名空间都是最终客户的应用程序。ie customer1.mydomain.com ->命名空间: cust1

我们一直在获取Kubernetes Ingress Controller的假证书。

我们已经购买了自己的通配符证书*.mydomain.com

代码语言:javascript
复制
#kubectl create secret tls OUR-SECRET --key /path/private.key --cert /path/chain.crt -n ingress-nginx
#kubectl create secret tls OUR-SECRET --key /path/private.key --cert /path/chain.crt -n kube-system

ingress.yaml

代码语言:javascript
复制
apiVersion: certmanager.k8s.io/v1alpha1  
kind: Certificate  
metadata:  
  name: ourcloud
  namespace: cert-manager
spec:  
  secretName: oursecret
  issuerRef:
    name: letsencrypt-prod
  commonName: '*.mydomain.com'
  acme:
    config:
    - dns01:
        provider: cf-dns-prod
      domains:
      - '*.mydomain.com'

kubectl apply -f ingress.yaml
certificate.certmanager.k8s.io/ourcloud created

https://cust1.mydomain.com连接Kubernetes入口控制器假证书

EN

回答 2

Stack Overflow用户

发布于 2019-04-15 21:56:14

我找到问题了。我的yaml中的证书文件名不正确。查看入口日志总是很好的

代码语言:javascript
复制
kubectl logs nginx-ingress-controller-689498bc7c-tf5 -n ingress-nginx   



kubectl get -o yaml  ingress --all-namespaces

尝试从文件中重新创建secrete,看看它是否有效。

代码语言:javascript
复制
kubectl delete -n cust4 SECRETNAME

kubectl -n cust4 create secret tls SECRETENAME --key key.key --cert cert.crt
票数 4
EN

Stack Overflow用户

发布于 2019-09-02 05:24:42

如果您正在使用Helmcert manager,请确保每个入口资源具有不同的值,这些值通常是从helm图表中的certificate name文件中设置的。

tls - secretName: <give certificate name> hosts: example.com

如果您已成功部署入口资源,则可以使用检查可用证书以避免名称冲突:

kubectl get certificates

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

https://stackoverflow.com/questions/55685000

复制
相关文章

相似问题

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