Как развернуть вновь сгенерированный SSL-сертификат в приложениях, запущенных в кластере kubernetes? - PullRequest
0 голосов
/ 05 октября 2019

Необходимо развернуть вновь сгенерированный сертификат SSL для приложений, работающих в кластере kubernetes.

Можно ли обновить сертификат с помощью панели инструментов kubernetes? Что такое команда kubectl или kubeadm для обновления нового сертификата SSL для приложений (https)?

Ответы [ 2 ]

1 голос
/ 10 октября 2019

@ Ramkumar

Если вы ищете команду kubectl, вы можете использовать следующую команду:

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

Как только у нас есть секрет с сертификатом, который мы хотим использовать, нам нужнообновить спецификацию контейнеров при развертывании контроллера входа, чтобы включить секретное имя по умолчанию ssl-сертификата.

```
  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
```
1 голос
/ 05 октября 2019

Это зависит от того, как вы используете сертификаты SSL в вашем приложении. Если вы используете Loadbalancer для предоставления своей услуги, вы можете настроить SSL в своем облаке, например: Если вы используете AWS, вы можете создать сертификат SSL с помощью AWS Certificate Manager и использовать его в своем 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
...