User Tools

Site Tools


как_и_чем_заменить_ingress_nginx

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
как_и_чем_заменить_ingress_nginx [2026/03/10 13:00]
val
как_и_чем_заменить_ingress_nginx [2026/04/12 09:23] (current)
val
Line 6: Line 6:
   * [[https://​krisadas.medium.com/​k8s-keycloak-with-traefik-ada27f62ac3e|K8S Keycloak with Traefik]]   * [[https://​krisadas.medium.com/​k8s-keycloak-with-traefik-ada27f62ac3e|K8S Keycloak with Traefik]]
   * [[https://​tetrate.io/​blog/​migrating-from-ingress-nginx-to-envoy-gateway|Migrating from ingress-nginx to Envoy Gateway]]   * [[https://​tetrate.io/​blog/​migrating-from-ingress-nginx-to-envoy-gateway|Migrating from ingress-nginx to Envoy Gateway]]
-  * [[https://​habr.com/​ru/​companies/​gnivc/​articles/​992366/​|Прощай,​ Ingress. Здравствуй,​ Gateway API]]+
  
   * [[Все что должен знать DevOps про HTML]], HTTP и REST   * [[Все что должен знать DevOps про HTML]], HTTP и REST
Line 24: Line 24:
 ===== Запись вебинара ===== ===== Запись вебинара =====
  
-  * Тэги: ​+  ​* Ютуб: https://​youtu.be/​QxN5w3aT3Lo 
 +  * Рутуб: https://​rutube.ru/​video/​private/​8fa4647ac6d0f1ddc4fd52eff6d157be/​ 
 +  * Вк: https://​vkvideo.ru/​video-2190892_456239500 
 +  ​* Тэги: ​Kubernetes, Ingress, NGINX, Traefik, Envoy, Gateway API
  
 ===== Шаг 1. Что у нас есть, для начала ===== ===== Шаг 1. Что у нас есть, для начала =====
  
-===== Черновик =====+  * Система Kubernetes [[Система Kubernetes#​Развертывание через Kubespray]] 
 +  * [[Решение FreeIPA]] 
 + 
 +===== Шаг 2. Развертывание приложения =====
  
   * [[Система Kubernetes#​Deployment]]   * [[Система Kubernetes#​Deployment]]
 <​code>​ <​code>​
 kube1:​~/​webd-k8s#​ cat my-webd-deployment.yaml kube1:​~/​webd-k8s#​ cat my-webd-deployment.yaml
 +</​code><​code>​
 ... ...
         image: brndnmtthws/​nginx-echo-headers         image: brndnmtthws/​nginx-echo-headers
-... 
 </​code>​ </​code>​
   * [[Система Kubernetes#​Service]]   * [[Система Kubernetes#​Service]]
 +<​code>​ 
 +kube1:​~/​webd-k8s#​ cat my-webd-service.yaml 
 +</​code><​code>​ 
 +... 
 +    targetPort: 8080 
 +</​code>​ 
 +===== Шаг 3. Доступ к приложению через Ingress NGINX =====
   * [[Система Kubernetes#​MetalLB]]   * [[Система Kubernetes#​MetalLB]]
   * [[Система Kubernetes#​Установка Helm]]   * [[Система Kubernetes#​Установка Helm]]
Line 44: Line 56:
  
   * [[Решение FreeIPA#​Создание ключа и сертификата для стороннего сервиса]] ehwebd   * [[Решение FreeIPA#​Создание ключа и сертификата для стороннего сервиса]] ehwebd
 +
   * [[Система Kubernetes#​secrets tls]]   * [[Система Kubernetes#​secrets tls]]
 <​code>​ <​code>​
Line 50: Line 63:
  
   * [[Система Kubernetes#​ingress example]]   * [[Система Kubernetes#​ingress example]]
 +
 <​code>​ <​code>​
-kube1:~/webd-k8skubectl delete ​-f my-ingress.yaml ​-n my-ns                    ​+client1.corp13.un:~# curl https://​ehwebd.corp13.un ​#-H "X-Forwarded-For: 192.168.13.101"​
 </​code>​ </​code>​
 +===== Шаг 4. Замена Ingress NGINX на Ingress Traefik =====
  
   * [[Система Kubernetes#​ingress-traefik-controller]]   * [[Система Kubernetes#​ingress-traefik-controller]]
 +<​code>​
 +kube1:​~/​traefik#​ cat values.yaml
 +service:
 +  spec:
 +    loadBalancerIP:​ "​192.168.13.66"​
 +</​code>​
  
 <​code>​ <​code>​
Line 60: Line 81:
  
 kube1:​~/​webd-k8s#​ cat my-ingress.yaml kube1:​~/​webd-k8s#​ cat my-ingress.yaml
 +</​code><​code>​
 +...
 +#  ingressClassName:​ nginx
 +  ingressClassName:​ traefik
 ... ...
 #              number: 8080 #              number: 8080
Line 66: Line 91:
 </​code>​ </​code>​
  
 +  * ehwebd A 192.168.13.66
 +
 +<​code>​
 +kube1:​~/​webd-k8s#​ kubectl apply -f my-ingress.yaml -n my-ns
 +</​code>​
 +===== Шаг 5. Замена Ingress на Gateway API =====
 +
 +  * [[https://​habr.com/​ru/​companies/​gnivc/​articles/​992366/​|Прощай,​ Ingress. Здравствуй,​ Gateway API]]
 +==== GatewayClass (Инфраструктура/​Провайдер) ====
   * [[Система Kubernetes#​Gateway API]]   * [[Система Kubernetes#​Gateway API]]
  
Line 72: Line 106:
   * [[Система Kubernetes#​Envoy Gateway]]   * [[Система Kubernetes#​Envoy Gateway]]
  
-<​code>​ +==== GatewayClass (DevOps предприятия) ==== 
-kube1:​~/​webd-k8scat my-gateway.yaml +  * [[Система Kubernetes#Gateway]] 
-</​code><​code>​ + 
-apiVersion: gateway.networking.k8s.io/v1 +==== HTTPRoute ​TLSRoute (Разработчики приложений) ==== 
-kind: Gateway +  ​* [[Система Kubernetes#HTTPRoute]]
-metadata: +
-  ​name: my-gateway +
-spec: +
- ​gatewayClassName:​ traefik +
-#  gatewayClassName:​ eg +
-  listeners:​ +
-  - name: http +
-#    port: 8000 +
-#    port: 80 +
-    protocol: HTTP +
-  - name: https +
-    hostname: "​ehwebd.corpX.un"​ +
-    protocol: HTTPS +
-#    port: 8443 +
-#    port: 443 +
-    tls: +
-      mode: Terminate +
-      certificateRefs:​ +
-        - kind: Secret +
-          name: ehwebd-tls +
-</​code><​code>​ +
-kube1:​~/​webd-k8s#​ cat my-httproute.yaml +
-</​code><​code>​ +
-apiVersion: gateway.networking.k8s.io/​v1 +
-kind: HTTPRoute +
-metadata: +
-  name: my-httproute +
-spec: +
-  hostnames:​ +
-  - ehwebd.corpX.un +
-  parentRefs:​ +
-#  - name: my-gateway +
-#  - name: traefik-gateway +
-#    namespace: traefik +
-  rules: +
-  - matches: +
-    - path: +
-        type: Exact +
-        value: / +
-    backendRefs:​ +
-    - name: my-webd +
-      port: 80 +
-</​code>​+
как_и_чем_заменить_ingress_nginx.1773136815.txt.gz · Last modified: 2026/03/10 13:00 by val