Установка сертификатов входа Nginx в модули контроллера входа, как в памяти, а не в секретах K8s

#kubernetes #kubernetes-ingress #nginx-ingress

#kubernetes #kubernetes-вход #nginx-вход

Вопрос:

В рамках усилий по обеспечению соответствия, похоже, нам нужно использовать входные сертификаты, которые монтируются непосредственно в памяти, используя emptyDir with medium:Memory , но я не могу найти никаких примеров в репозитории Ingress Controller Nginx или иным образом о том, как это сделать. Если кто-либо делал это раньше, пожалуйста, предоставьте некоторые идеи.

Ответ №1:

Я никогда этого не делал. Просто попробовал, и все работало нормально. Однако мне пришлось вводить сертификаты вручную. Я имею в виду, я создал модуль debian и установил все вручную. Я не знаю, как вы собираетесь сделать эту часть, чтобы она была элегантной.

В любом случае, это yaml, который работал для меня с самозаверяющими сертификатами для www.example.com .

 apiVersion: v1
kind: Pod
metadata:
  name: nginx-https
  labels:
    app: nginx
spec:
  containers:
  - image: debian
    name: nginx
    volumeMounts:
    - mountPath: /etc/nginx/certs
      name: certs
    tty: true
  volumes:
  - name: certs
    emptyDir:
      medium: "Memory"
 

И запрос

 curl -vvv https://service -k
...
* TLSv1.2 (IN), TLS handshake, Finished (20):
* SSL connection using TLSv1.2 / ECDHE-RSA-AES256-GCM-SHA384
* ALPN, server accepted to use http/1.1
* Server certificate:
*  subject: CN=www.example.com; O=example organization
*  start date: Jan 18 15:48:22 2021 GMT
*  expire date: Jan 18 15:48:22 2022 GMT
*  issuer: O=domain Inc.; CN=example.com
*  SSL certificate verify result: unable to get local issuer certificate (20), continuing anyway.
> GET / HTTP/1.1
> Host: 192.168.31.62
> User-Agent: curl/7.59.0
> Accept: */*
> 
< HTTP/1.1 200 OK
< Server: nginx/1.14.2
< Date: Mon, 18 Jan 2021 15:52:41 GMT
< Content-Type: text/html
< Content-Length: 612
...
 

Комментарии:

1. Не могли бы вы, пожалуйста, быть более подробными в ответе, где вы создали сертификаты, они лежат в пространстве имен? из предоставленного вами yaml это неясно . Спасибо!