如何将新生成的SSL证书部署到kubernetes集群下运行的应用程序?

时间:2019-10-05 04:23:58

标签: kubernetes ssl-certificate kubectl kubeadm

需要将新生成的SSL证书部署到在kubernetes集群下运行的应用程序。

是否可以使用kubernetes仪表板更新证书? 用于将新的SSL证书更新到(https)应用程序的kubectl或kubeadm命令是什么?

2 个答案:

答案 0 :(得分:1)

这取决于您在应用程序中使用SSL证书的方式。如果使用Loadbalancer公开服务,则可以在云本身中设置SSL,例如:如果使用AWS,则可以使用AWS Certificate Manager创建SSL证书,并在AWS ELB中使用它。如果您的应用程序正在使用入口控制器或任何其他方法,则可以将SSL证书存储在K8s机密中。

apiVersion: v1
kind: Secret
metadata:
  name: testsecret-tls
  namespace: default
data:
  tls.crt: base64 encoded cert
  tls.key: base64 encoded key
type: kubernetes.io/tls

答案 1 :(得分:1)

@Ramkumar

如果要查找kubectl命令,可以使用以下命令:

kubectl -n ingress create secret tls default-ssl-certificate --key key.pem --cert cert.pem

一旦我们拥有要使用的证书的机密,我们需要在入口控制器的部署中更新容器规范,以包括default-ssl-certificate机密名称。

```
  apiVersion: extensions/v1beta1
  kind: Ingress
  metadata:
    annotations:
    kubernetes.io/ingress.class: nginx
    kubernetes.io/tls-acme: "true"
    name: ingress
  spec:
    rules:
     - host: yourhost.com 
    https:
      paths:
       - backend:
          serviceName: yourservicename
          servicePort: 443
         path: /
    tls:
       - hosts:
          - yourhost.com
         secretName: default-ssl-certificate
```
相关问题