Инструменты пользователя

Инструменты сайта


k8s:nets

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
k8s:nets [2024/09/16 05:13]
admin
k8s:nets [2024/11/10 13:15] (текущий)
admin
Строка 340: Строка 340:
  
  
-<details> + 
-<summary>:!: Еще пример</summary>+ 
 +=== HTTPS Ingress === 
 +Ресурс Ingress поддерживает только один порт TLS, 443, и предполагает завершение TLS в точке входа (трафик к Службе и ее Pods передается в виде открытого текста).\\ 
 +Ссылка на этот секрет в Ingress сообщает контроллеру Ingress о необходимости защитить канал от клиента до балансировщика нагрузки с помощью TLS\\
 <code yaml> <code yaml>
-apiVersion: networking.k8s.io/v1 
-kind: Ingress 
-metadata: 
-  annotations: 
-#    kubernetes.io/ingress.class: nginx 
-#    nginx.ingress.kubernetes.io/force-ssl-redirect: 'true' 
-    nginx.ingress.kubernetes.io/ssl-passthrough: 'true' 
-  name: ingress-my-service 
-  namespace: my-namespace 
 spec: spec:
-  ingressClassNamenginx +  tls
-  rules+  - hosts
-    host: <my-service>.<url кластера> +      https-example.foo.com 
-      http: +    secretNametestsecret-tls
-        paths: +
-          path: / +
-            pathType: Prefix +
-            backend: +
-              service: +
-                name: my-service +
-                port: +
-                  number: 3000+
 </code> </code>
-</details> 
  
  
- 
-=== HTTPS Ingress === 
 :!: Важно не забывать что серт должен быть валидным, для этого URL\\ :!: Важно не забывать что серт должен быть валидным, для этого URL\\
  
Строка 387: Строка 370:
  metadata:  metadata:
    name: ingress-my-tls    name: ingress-my-tls
-   annotations: 
-     ingress.kubernetes.io/ssl-redirect: "true" 
  spec:  spec:
    tls:    tls:
Строка 404: Строка 385:
 </code> </code>
 </details> </details>
 +
 +
 +<details>
 +<summary>:!: Пересылка шифрованного трафика через Ingress</summary>
 +
 +<code yaml>
 +apiVersion: networking.k8s.io/v1
 +kind: Ingress
 +metadata:
 +  name: myapp-ing
 +  annotations:
 +    # указывает на использование nginx, зависит от настроек контроллера видимо
 +    kubernetes.io/ingress.class: nginx
 +    
 +    # Указываем контроллеру пересылать шифрованный трафик дальше, в приложение
 +    nginx.ingress.kubernetes.io/ssl-passthrough: 'true'
 +
 +  labels:
 +    app: myapp
 +spec:
 +  rules:
 +    - host: "myapp.apps.url-cluster.ru"
 +      http:
 +        paths:
 +          - path: /
 +            pathType: Prefix
 +            backend:
 +              service:
 +                name: myapp-svc
 +                port:
 +                  number: 9444
 +</code>
 +</details>
 +
 +
  
  
Строка 490: Строка 506:
   namespace: namespace-name    namespace: namespace-name 
   annotations:   annotations:
 +    # это хз, возможно не обязательно
     nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"     nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
 spec: spec:
 +  # блок, задающий терминацию на ингрессе, далее трафик не шифрованный, внутри кластера
   tls:   tls:
   - hosts:   - hosts:
Строка 510: Строка 528:
  
  
-TLS с расшифровкой на бекенде (в приложении)+тоже самое, только пересылка шифрованного трафика, расшифровка в приложении
 <code yaml> <code yaml>
 apiVersion: networking.k8s.io/v1 apiVersion: networking.k8s.io/v1
k8s/nets.1726463619.txt.gz · Последнее изменение: 2024/09/16 05:13 — admin