Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
k8s:nets [2024/09/10 06:35] admin |
k8s:nets [2024/11/10 13:15] (текущий) admin |
||
---|---|---|---|
Строка 294: | Строка 294: | ||
number: 80 | number: 80 | ||
</ | </ | ||
+ | </ | ||
+ | |||
+ | |||
+ | < | ||
+ | < | ||
+ | " | ||
+ | **ssl-redirect** - принудительное использование HTTPS на стороне сервера, | ||
+ | **force-ssl-redirect** - принудительно перенаправлять на HTTPS, даже если TLS недоступен.\\ | ||
+ | |||
+ | **ssl-passthrough** - передача данных по протоколу SSL. Указание контроллеру отправлять соединения по протоколу TLS непосредственно на серверную часть, вместо того чтобы позволять Nginx расшифровывать обмен данными\\ | ||
+ | :!: т.к. передача по протоколу SSL работает на уровне 4 модели OSI (TCP), а не на 7 (HTTP), то эта аннотация **делает недействительными** все остальные аннотации для входящего объекта\\ | ||
+ | :!: В том числе и маршрутизация на основе пути (т.е. Location фактически не работает, | ||
+ | |||
+ | Блок " | ||
+ | |||
+ | **** - | ||
+ | |||
+ | **** - | ||
</ | </ | ||
Строка 322: | Строка 340: | ||
- | < | + | |
- | < | + | |
+ | === HTTPS Ingress === | ||
+ | Ресурс Ingress | ||
+ | Ссылка на этот секрет в Ingress сообщает контроллеру Ingress о необходимости защитить канал от клиента до балансировщика нагрузки с помощью TLS\\ | ||
<code yaml> | <code yaml> | ||
- | apiVersion: networking.k8s.io/ | ||
- | kind: Ingress | ||
- | metadata: | ||
- | annotations: | ||
- | # kubernetes.io/ | ||
- | # nginx.ingress.kubernetes.io/ | ||
- | nginx.ingress.kubernetes.io/ | ||
- | name: ingress-my-service | ||
- | namespace: my-namespace | ||
spec: | spec: | ||
- | | + | |
- | | + | |
- | - host: <my-service>.<url кластера> | + | - https-example.foo.com |
- | http: | + | |
- | paths: | + | |
- | | + | |
- | pathType: Prefix | + | |
- | backend: | + | |
- | service: | + | |
- | name: my-service | + | |
- | port: | + | |
- | number: 3000 | + | |
</ | </ | ||
- | </ | ||
- | |||
- | === HTTPS Ingress === | ||
:!: Важно не забывать что серт должен быть валидным, | :!: Важно не забывать что серт должен быть валидным, | ||
Строка 369: | Строка 370: | ||
| | ||
name: ingress-my-tls | name: ingress-my-tls | ||
- | | ||
- | | ||
spec: | spec: | ||
tls: | tls: | ||
Строка 386: | Строка 385: | ||
</ | </ | ||
</ | </ | ||
+ | |||
+ | |||
+ | < | ||
+ | < | ||
+ | |||
+ | <code yaml> | ||
+ | apiVersion: networking.k8s.io/ | ||
+ | kind: Ingress | ||
+ | metadata: | ||
+ | name: myapp-ing | ||
+ | annotations: | ||
+ | # указывает на использование nginx, зависит от настроек контроллера видимо | ||
+ | kubernetes.io/ | ||
+ | | ||
+ | # Указываем контроллеру пересылать шифрованный трафик дальше, | ||
+ | nginx.ingress.kubernetes.io/ | ||
+ | |||
+ | labels: | ||
+ | app: myapp | ||
+ | spec: | ||
+ | rules: | ||
+ | - host: " | ||
+ | http: | ||
+ | paths: | ||
+ | - path: / | ||
+ | pathType: Prefix | ||
+ | backend: | ||
+ | service: | ||
+ | name: myapp-svc | ||
+ | port: | ||
+ | number: 9444 | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | |||
Строка 456: | Строка 490: | ||
</ | </ | ||
</ | </ | ||
- | |||
Строка 473: | Строка 506: | ||
namespace: namespace-name | namespace: namespace-name | ||
annotations: | annotations: | ||
+ | # это хз, возможно не обязательно | ||
nginx.ingress.kubernetes.io/ | nginx.ingress.kubernetes.io/ | ||
spec: | spec: | ||
+ | # блок, задающий терминацию на ингрессе, | ||
tls: | tls: | ||
- hosts: | - hosts: | ||
Строка 493: | Строка 528: | ||
- | TLS с расшифровкой | + | тоже |
<code yaml> | <code yaml> | ||
apiVersion: networking.k8s.io/ | apiVersion: networking.k8s.io/ |