Зачарованное Распределение Кубернетов на LX C и Ingress - PullRequest
0 голосов
/ 31 января 2020

Я пытаюсь найти достойное решение для предоставления моих услуг из кластера Kubernetes, размещенного в локальных контейнерах LX C.

Настройка выглядит следующим образом:

Хост: Ubuntu 18.04 под управлением кластера LX C.

Внутри LX C есть Зачарованное Распределение Kubernetes, на котором запущены мои приложения, и еще один контейнер с обратным прокси NGINX.

I Также я настроил балансировщик нагрузки Metallb внутри kubernetes и использую все службы k8s, для которых нужно inte rnet, отображая как LoadBalancer:

apiVersion: v1 kind: Service metadata: namespace: blazedesk name: blazedesk-sdeweb-server labels: app: blazedesk spec: ports: - port: 80 targetPort: 80 name: "http" - port: 443 targetPort: 443 name: "https" selector: app: blazedesk tier: sdeweb-server type: LoadBalancer

Как я это делал до сих пор, было чтобы перенаправить все http и https traffi c, поступающие на главный хост, на обратный прокси-сервер NXGINX:

lxc config device add proxy myport80 proxy listen=tcp:0.0.0.0:80 connect=tcp:127.0.0.1:80 proxy_protocol=true

lxc config device add proxy myport443 proxy listen=tcp:0.0.0.0:443 connect=tcp:127.0.0.1:443 proxy_protocol=true

Nginx настроен на перенаправление трафиков c, сопоставляющих DNS-адреса службам k8s external-ips:

NAME                               TYPE           CLUSTER-IP       EXTERNAL-IP     PORT(S)                      AGE
service/blazedesk-sdeweb-server    LoadBalancer   10.152.183.215   10.190.26.240   80:31476/TCP,443:31055/TCP   17d

proxy_pass https://10.190.26.240;

Как вы можете себе представить, эта настройка подразумевает много ручной работы, особенно если сервисы k8s перезапускаются и новые ips распределяются по металлу lb loadbalancer.

Есть ли более простой способ перенаправить трафик c с хостов напрямую на вход kubernetes, каким-то образом минуя слой LX C?

1 Ответ

1 голос
/ 01 февраля 2020

Я фактически заставил его работать с входным контроллером NGINX, выставленным как служба LoadBalancer и перенаправляющим http и https traffi c с хоста, используя iptables, на вход external-ip.

...