#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 это неясно . Спасибо!