当前位置: 首页 > 知识库问答 >
问题:

如何用通配符证书(在裸机私有云上)替换“Kubernetes假证书”Nginx Ingress和cert manager

韦安怡
2023-03-14

我们在裸机服务器上设置了库伯内特斯集群。

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

我们不断获得库伯内特斯入口控制器假证书。

我们购买了自己的通配符证书*。mydomain。通用域名格式

#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

进入。亚马尔

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连接库伯内特斯入口控制器假证书

共有2个答案

卫深
2023-03-14

如果您使用的是Helm和cert manager,请确保每个入口资源都有不同的证书名称,这些值通常是从Helm图表中的值文件中设置的。

tls-秘密名称:

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

kubectl获取证书

何骞尧
2023-03-14

我发现了问题。我的yaml中证书文件的文件名错误。查看入口日志总是好的

kubectl logs nginx-ingress-controller-689498bc7c-tf5 -n ingress-nginx   



kubectl get -o yaml  ingress --all-namespaces

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

kubectl delete -n cust4 SECRETNAME

kubectl -n cust4 create secret tls SECRETENAME --key key.key --cert cert.crt
 类似资料:
  • 我想访问我的库伯内特斯裸机集群与暴露的Ngin x入口控制器TLS终止。为了能够自动更新证书,我想使用库伯内特斯插件证书管理器,它是库贝-lego的继任者。 到目前为止我所做的: > < li> 按照本指南在裸机(1个主机,1个迷你机,均运行Ubuntu 16.04.4 LTS)上设置Kubernetes (v1.9.3)集群,并使用kubeadm和法兰绒作为pod网络。 使用库伯内特斯包管理器h

  • 我有SSL证书、私钥和SSLCertificateChain证书如下: > SSL证书: ----开始证书---- 私钥: ----开始RSA私钥----- 这里有钥匙 在/opt/tomcat/conf/server.xml中将连接器修改为: 我重新启动了tomcat服务器,http://www.digicert.com/help/show错误“SSL证书不可信”,如图所示。 文件扩展名或con

  • 我们正在GKE上的k8s集群上运行一个应用程序。 我们正在使用一个nginx入口控制器作为外部负载平衡器服务,比如说,https://12.345.67.98 . 我们面临的一个问题是,当我们直接访问上述URL上的负载平衡器时,我们会收到一个证书警告,因为使用了自签名的“Kubernetes入口控制器假证书”。 我们只有将我们的域(例如app.our company.com)映射到Kubernet

  • 我必须使用Akka HTTP编程微服务。[完成] 服务必须在docker容器内运行。[完成] 与此服务的通信(通过REST API[完成])已经通过HTTPS。[TODO] 在尝试从Web浏览器发出HTTPS GET请求时: 浏览器警告连接不安全 在尝试向服务器上的服务发出cURL请求时: docker ps 港口 0.0.0.0:443- Curl-vhttps://localhost TCP_

  • 我按照下面的线程为我的公司域导入我的GeoTrust通配符证书。我从GeoTrust收到了一个私钥、一个公钥和一个中间证书,它们都是PEM格式的。以下是我到目前为止所做的所有步骤: 有什么想法吗?

  • a.从存储区提取现有证书密钥: b.从导出的证书中提取私钥: 没有证书与私钥匹配 我错过了什么?为什么我的最后一个命令不合法? 我计划执行“keytool-importkeystore”文件。p12(应该在最后一步中生成)来替换“keystore”中的“一个”privateKeyEntry。正如在如何导入Java keystore中现有的x509证书和私钥以便在SSL中使用中所建议的?。基本上,我