Переход с Ingress на Cilium Gateway
Если установлен Ingress NGINX, то его надо сначала удалить.
Если установка делалась отсюда, то удаляем:
helm uninstall ingress-nginx -n ingress-nginx
Если установка была другим способом, удалить в соответствии с инструкцией по существующему методу.
В случае, если установка k8s делалась через snap, то по умолчанию должент был установиться cilium и cilium-operator:
kubectl get pod -n kube-system
NAME READY STATUS RESTARTS AGE
cilium-hg6nz 1/1 Running 49 (15m ago) 118d
cilium-operator-59756b9446-6brfb 1/1 Running 54 (15m ago) 55d
ck-storage-rawfile-csi-controller-0 2/2 Running 48 (15m ago) 84d
ck-storage-rawfile-csi-node-2s5qd 4/4 Running 157 (15m ago) 84d
coredns-646d668679-hqpkq 1/1 Running 29 (15m ago) 55d
coredns-646d668679-mg4tv 1/1 Running 26 (15m ago) 55d
metrics-server-55987d6764-vksr8 1/1 Running 145 (15m ago) 118d
Версию cilium можно посмотреть так:
kubectl get daemonset cilium -n kube-system -o json | jq -r '.spec.template.spec.containers[0].image'
ghcr.io/canonical/cilium:1.17.12-ck0-static
Так же по умолчани будет включен gateway, а если нет, то его нужно включить:
k8s status
cluster status: ready
control plane nodes: 192.168.56.83:6400 (voter)
high availability: no
datastore: etcd
network: enabled
dns: enabled at 10.152.183.238
ingress: disabled
load-balancer: disabled
local-storage: enabled at /var/snap/k8s/common/rawfile-storage
gateway enabled
Смотрим состояние gateway:
kubectl get gateway -A
По факту его нет, хоть и статус показывает что он включен:
No resources found
Проверяем установлены ли CRD:
kubectl get crd | grep gateway.networking.k8s.io
Видим что все хорошо:
gatewayclasses.gateway.networking.k8s.io 2026-01-24T11:40:28Z
gateways.gateway.networking.k8s.io 2026-01-24T11:40:28Z
grpcroutes.gateway.networking.k8s.io 2026-01-24T11:40:28Z
httproutes.gateway.networking.k8s.io 2026-01-24T11:40:28Z
referencegrants.gateway.networking.k8s.io 2026-01-24T11:40:28Z
tlsroutes.gateway.networking.k8s.io 2026-01-24T11:40:28Z
Проверяем на наличие GatewayClass:
kubectl get gatewayclass
Да видим, что есть:
NAME CONTROLLER ACCEPTED AGE
cilium io.cilium/gateway-controller True 189d
ck-gateway io.cilium/gateway-controller True 189d
Если классы мы не увидили, смотрим еще раз включен ли gateway в k8s status и если что т оне так - идем в интернет и смотрим варианты решения проблемы
Далее переходим к настройке ELMA365 с поддержкой Gateway API тут.