Входящий контроллер Istio через хост-сеть (голый металл)

Я пытаюсь использовать Istio на «голом железе», и я хотел использовать минимум ресурсов, необходимых только для получения контроллера Ingress с Envoy и Cert-Manager (возможно, позже он перейдет к использованию более продвинутых функций сервисной сетки). Я пробовал следовать этим документам: Istio Kubernetes Ingress с Cert-Manager Демонстрирует, как автоматически получить сертификаты Let's Encrypt TLS для Kubernetes Ingress с помощью Cert-Manager.

Моя основная проблема заключается в том, что я работаю с голым железом и не хочу использовать ни LoadBalancer, ни NodePort. Я использовал подход хост-сеть в качестве аналогичного решения с использованием nginx здесь. 1) Могу ли я использовать istio для замены моего текущего контроллера nginx-ingress на Hostnetwork?

Попытка установки (безуспешно):

helm install install/kubernetes/helm/istio-init --name istio-init --namespace istio-system
helm install install/kubernetes/helm/istio --name istio --namespace istio-system \
--values install/kubernetes/helm/istio/values-istio-minimal.yaml

2) Если (1) возможно, могу ли я использовать для этого схему управления istio с istio-minimal (просто istio-pilot)? Какой минимальный профиль рекомендуется настроить в этом случае?


person staticdev    schedule 11.07.2019    source источник


Ответы (1)


Документ istio.io для Ingress с Cert-Manager требует, чтобы вы использовали объект ingress-gateway, чтобы присоединить его к балансировщику нагрузки, поэтому в данном случае это не альтернатива.

Подход Nginx возможен, поскольку вы можете использовать Cert-Manager с входной класс Nginx для автоматического управления вашими сертификатами (заменяя ресурсы Istio на основе Envoy).

Теперь проблема в том, что вам нужно перенаправить весь входящий трафик Nginx в сетку Istio.

Хотя эта интеграция еще не поддерживается изначально, есть способы сделать их работать вместе, что может оказаться довольно хакерским.

Если у вас нет проблемы, которая не описана в вопросе, я не думаю, что минимальная установка Istio имеет какое-либо отношение к этому сценарию.

person yyyyahir    schedule 23.07.2019
comment
Спасибо, Яхир. Думаю, я не совсем понимал, как использовать nginx ... Я хочу использовать аналогичный подход к документации, о которой я упоминал, и ЗАМЕНИТЬ мой контроллер nginx-ingress на istio. В документации, которую вы мне прислали, сказано, что по умолчанию istio-ingressgateway будет отображаться как тип службы LoadBalancer. Вы можете изменить это, установив для параметра установки gateways.istio-ingressgateway.type значение NodePort, если это более применимо к вашей среде Kubernetes .. Так как я работаю с голым железом без LoadBalancer, а NodePort не подходит для сети ограничения, мне нужна hostnetwork, возможно ли это? - person staticdev; 24.07.2019
comment
Я тоже хочу это - person Christopher Thomas; 10.08.2020