# Переход с Ingress на Cilium Gateway

Если установлен Ingress NGINX, то его надо сначала удалить.

Если установка делалась [отсюда](https://elma365.com/ru/help/platform/install-ingress-nginx.html), то удаляем:

```bash
helm uninstall ingress-nginx -n ingress-nginx
```

Если установка была другим способом, удалить в соответствии с инструкцией по существующему методу.

В случае, если установка k8s делалась через snap, то по умолчанию должент был установиться cilium и cilium-operator:

```bash
kubectl get pod -n kube-system
```

```shell
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 можно посмотреть так:

```bash
kubectl get daemonset cilium -n kube-system -o json | jq -r '.spec.template.spec.containers[0].image'
```

<p class="callout info">ghcr.io/canonical/cilium:1.17.12-ck0-static</p>

Так же по умолчани будет включен gateway, а если нет, то его нужно включить:

```bash
k8s status
```

```shell
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:

```bash
kubectl get gateway -A
```

По факту его нет, хоть и статус показывает что он включен:

```shell
No resources found
```

Проверяем установлены ли CRD:

```bash
kubectl get crd | grep gateway.networking.k8s.io
```

Видим что все хорошо:

```shell
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:

```bash
kubectl get gatewayclass
```

Да видим, что есть:

```shell
NAME         CONTROLLER                     ACCEPTED   AGE
cilium       io.cilium/gateway-controller   True       189d
ck-gateway   io.cilium/gateway-controller   True       189d
```

<p class="callout warning">Если классы мы не увидили, смотрим еще раз включен ли gateway в k8s status и если что т оне так - идем в интернет и смотрим варианты решения проблемы</p>

Далее переходим к настройке ELMA365 с поддержкой Gateway API [тут](https://kb.randmgroup.ru/books/on-premises-helm/page/perexod-na-cilium-gateway "Переход на Cilium Gateway").