需要将新生成的SSL证书部署到在kubernetes集群下运行的应用程序。
是否可以使用kubernetes仪表板更新证书? 用于将新的SSL证书更新到(https)应用程序的kubectl或kubeadm命令是什么?
答案 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
```