This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
как_и_чем_заменить_ingress_nginx [2026/03/10 12:52] val |
как_и_чем_заменить_ingress_nginx [2026/03/11 09:57] (current) val |
||
|---|---|---|---|
| Line 24: | Line 24: | ||
| ===== Запись вебинара ===== | ===== Запись вебинара ===== | ||
| - | * Тэги: | + | * Тэги: Ingress, NGINX, |
| ===== Шаг 1. Что у нас есть, для начала ===== | ===== Шаг 1. Что у нас есть, для начала ===== | ||
| - | ===== Черновик ===== | + | * Система Kubernetes [[Система Kubernetes#Развертывание через Kubespray]] |
| + | * [[Решение FreeIPA]] | ||
| + | |||
| + | ===== Шаг 2. Развертывание приложения ===== | ||
| * [[Система Kubernetes#Deployment]] | * [[Система Kubernetes#Deployment]] | ||
| Line 34: | Line 37: | ||
| kube1:~/webd-k8s# cat my-webd-deployment.yaml | kube1:~/webd-k8s# cat my-webd-deployment.yaml | ||
| ... | ... | ||
| - | # image: httpd | ||
| image: brndnmtthws/nginx-echo-headers | image: brndnmtthws/nginx-echo-headers | ||
| ... | ... | ||
| Line 40: | Line 42: | ||
| * [[Система Kubernetes#Service]] | * [[Система Kubernetes#Service]] | ||
| + | ===== Шаг 3. Доступ к приложению через Ingress NGINX ===== | ||
| * [[Система Kubernetes#MetalLB]] | * [[Система Kubernetes#MetalLB]] | ||
| * [[Система Kubernetes#Установка Helm]] | * [[Система Kubernetes#Установка Helm]] | ||
| Line 51: | Line 54: | ||
| * [[Система Kubernetes#ingress example]] | * [[Система Kubernetes#ingress example]] | ||
| + | |||
| + | ===== Шаг 4. Замена Ingress NGINX на Ingress Traefik ===== | ||
| + | |||
| + | <code> | ||
| + | kube1:~/webd-k8s# kubectl delete -f my-ingress.yaml -n my-ns | ||
| + | </code> | ||
| * [[Система Kubernetes#ingress-traefik-controller]] | * [[Система Kubernetes#ingress-traefik-controller]] | ||
| Line 63: | Line 72: | ||
| ... | ... | ||
| </code> | </code> | ||
| + | |||
| + | ===== Шаг 5. Замена Ingress на Gateway API ===== | ||
| * [[Система Kubernetes#Gateway API]] | * [[Система Kubernetes#Gateway API]] | ||
| Line 70: | Line 81: | ||
| * [[Система Kubernetes#Envoy Gateway]] | * [[Система Kubernetes#Envoy Gateway]] | ||
| - | <code> | + | * [[Система Kubernetes#Gateway]] |
| - | kube1:~/webd-k8s# cat my-gateway.yaml | + | * [[Система Kubernetes#HTTPRoute]] |
| - | </code><code> | + | |
| - | apiVersion: gateway.networking.k8s.io/v1 | + | |
| - | kind: Gateway | + | |
| - | metadata: | + | |
| - | name: my-gateway | + | |
| - | spec: | + | |
| - | # gatewayClassName: traefik | + | |
| - | # gatewayClassName: eg | + | |
| - | listeners: | + | |
| - | - name: http | + | |
| - | # port: 8000 | + | |
| - | # port: 80 | + | |
| - | protocol: HTTP | + | |
| - | - name: https | + | |
| - | hostname: "htwebd.corpX.un" | + | |
| - | protocol: HTTPS | + | |
| - | # port: 8443 | + | |
| - | # port: 443 | + | |
| - | tls: | + | |
| - | mode: Terminate | + | |
| - | certificateRefs: | + | |
| - | - kind: Secret | + | |
| - | name: htwebd-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: | + | |
| - | - htwebd.corpX.un | + | |
| - | parentRefs: | + | |
| - | - name: my-gateway | + | |
| - | # - name: traefik-gateway | + | |
| - | # namespace: traefik | + | |
| - | rules: | + | |
| - | - matches: | + | |
| - | - path: | + | |
| - | type: Exact | + | |
| - | value: / | + | |
| - | backendRefs: | + | |
| - | - name: my-webd | + | |
| - | port: 80 | + | |
| - | </code> | + | |