Входной контроллер 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-minimal (только istio-pilot)? Какова рекомендуемая минимальная настройка профиля в этом случае?
1 ответ
Документ istio.io для Ingress с Cert-Manager требует, чтобы вы использовали ingress-gateway
объект, чтобы прикрепить его к балансировщику нагрузки, так что это не альтернатива в этом случае.
Подход Nginx возможен, поскольку вы можете использовать Cert-Manager с входным классом Nginx для автоматического управления вашими сертификатами (заменив ресурсы Istio на основе Envoy).
Теперь проблема в том, что вам нужно перенаправить весь входящий трафик Nginx в сетку Istio.
Хотя эта интеграция еще не поддерживается изначально, существуют способы заставить их работать вместе, что может оказаться довольно хакерским.
Если у вас нет проблемы, которая не описана в этом вопросе, я не думаю, что минимальная установка Istio имеет какое-либо отношение к этому сценарию.