2016-06-15 2 views
0

Мы работаем с множеством приложений в Kubernetes и обрабатываем завершение TLS внутри контейнера с HAProxy и сертификат, сгенерированный с помощью LetsEncrypt.Отремонтируйте доменное имя для службы Kubernetes внутри.

Это хорошо работает для трафика, поступающего из-за пределов кластера Kubernetes, поскольку запросы используют доменное имя, указанное в сертификате.

Однако для внутренней связи с использованием имени службы - с URL-адресом, например https: /// - хост-часть URL-адреса больше не соответствует тому, что определено в сертификате, что приводит к ошибке.

Есть ли способ разрешить системе DNS Kubernetes полное доменное имя для конкретной службы, поэтому он не будет маршрутизироваться вне кластера?

ответ

0

Я могу придумать несколько вариантов, которые вы могли бы преследовать:

  1. Вы мог бы иметь запросы, транзит только кластеры работают над HTTP вместо HTTPS, если вы уверены в безопасности вашей сети кластера.

  2. Возможно, ваш экземпляр HAProxy обслуживает другой сертификат для внутренних запросов с использованием SNI. Вам понадобится способ создания и распространения внутренних сертификатов, но это позволит вам представить клиенту сертификат, соответствующий имени службы Kubernetes.

  3. Продолжить разрешение полного доменного имени и не беспокоиться о запросах на маршрутизацию, а затем вернуться в кластер. На самом деле это не так уж и отличается от того, что функция обнаружения/объединения службы межкластерного соединения встроена в кластерную кластеру Kubernetes.

На самом деле не существует способа для ввода/перезаписи внешнего FQDN-разрешения для возврата внутреннего IP-адреса службы.

Смежные вопросы