User Tools

Site Tools


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

This is an old revision of the document!


Как и чем заменить Ingress NGINX

Реклама

  • Не так часто случается в индустрии, когда решение, долгое время используемое в качестве стандартного, вдруг оказывается без официальной поддержки. На нашем вебинаре мы обсудим причины и “как жить дальше” без Ingress NGINX, а так же узнаем, как и на что его можно заменить (спойлер: Traefik, Envoy, но, это не точно:)

Техническое задание

  • Развернуть альтернативные решения, реализующие Ingress API
  • Проверить работу приложений, использующих Ingress API
  • Развернуть решения, реализующие Gateway API
  • Провести миграцию приложений на Gateway API

Запись вебинара

  • Тэги:

Шаг 1. Что у нас есть, для начала

Черновик

kube1:~/webd-k8s# cat my-webd-deployment.yaml
...
        image: brndnmtthws/nginx-echo-headers
...
kube1:~# kubectl create secret tls ehwebd-tls --key /tmp/ehwebd.key --cert /tmp/ehwebd.crt -n my-ns
kube1:~/webd-k8s# kubectl delete -f my-ingress.yaml -n my-ns                    
kube1:~/webd-k8s# kubectl -n traefik logs pods/traefik-<TAB>

kube1:~/webd-k8s# cat my-ingress.yaml
...
#              number: 8080
              number: 80
...
kube1:~/webd-k8s# kubectl -n traefik get endpointslices
NAME            ADDRESSTYPE   PORTS       ENDPOINTS     AGE
traefik-j6bwt   IPv4          8000,8443   10.233.87.8   36m
kube1:~/webd-k8s# cat my-gateway.yaml
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: "ehwebd.corpX.un"
    protocol: HTTPS
#    port: 8443
#    port: 443
    tls:
      mode: Terminate
      certificateRefs:
        - kind: Secret
          name: ehwebd-tls
kube1:~/webd-k8s# cat my-httproute.yaml
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
как_и_чем_заменить_ingress_nginx.1773137200.txt.gz · Last modified: 2026/03/10 13:06 by val