Как добавить сторонние центры сертификации в цитадель Istio из секретов?

В своей сетке я подключаюсь к сторонним сервисам через TLS (в частности, Strimzi's Kafka, который является в том же кластере k8, но без коляски Istio). Обычно я бы установил центр сертификации, необходимый для службы Java, но после завершения работы Istio я не знаю, как это сделать. Если я помещу публичный сертификат в секрет, могу ли я получить от службы обнаружения секретов (SDS) помощь в управлении им на прокси-сервере Envoy (что-то вроде Secure Ingress SDS, но внутри сетки)?

Я читал эту документацию, но, похоже, она касается замены сгенерированных сертификатов, чего я не хочу делать (мне нравится автоматическое обслуживание внутри кластера). https://istio.io/docs/tasks/security/plugin-ca-cert/

Я также добавил сторонние центры сертификации в качестве монтирования к / etc, как указано в этом ответе, но они не подобраны Envoy в виде сертификатов (проверено через журналы и инструмент istioctl).

Как добавить в Istio Citadel дополнительные центры сертификации, чтобы они доставлялись на прокси Envoy в пакете безопасности?


person Adam    schedule 04.10.2019    source источник
comment
Почему ваши поды взаимодействуют друг с другом в сетке с помощью TLS? Вы упоминаете, что istio завершает TLS, но модули в вашей сетке не должны взаимодействовать с TLS, если у вас нет других требований.   -  person Stephen Greene    schedule 08.10.2019
comment
Да, модули в сетке действительно должны обмениваться данными через TLS. Это именно то требование, потому что они работают в облачной среде в центрах обработки данных.   -  person Adam    schedule 09.10.2019
comment
Где работает ваша сторонняя служба? Находится ли он в том же кластере и внутри служебной сети? Если он находится в сетке, нельзя ли использовать сертификаты CA, установив security.selfSigned=false? Если служба находится за пределами сетки, я подумал, что вы можете использовать настройку Egress, например Создание TLS со шлюзом. Извините, если я неправильно понял вашу точку зрения.   -  person Ryota    schedule 11.10.2019
comment
Он находится внутри кластера, но вне меша (то есть без связующего элемента).   -  person Adam    schedule 11.10.2019
comment
@Ryota, selfSigned = false имеет смысл, поэтому он не использует ЦС Istio, но можем ли мы также использовать ЦС для подписи стороннего сертификата?   -  person Adam    schedule 11.10.2019
comment
Если он находится внутри кластера, и вы хотите инициировать TLS для этого, возможно, ServiceEntry и DestinationRule разрешат такое использование? В документе ServiceEntry есть пример внешнего доступа к базе данных Mongo. , и этот внешний IP-адрес можно заменить на службу внутри кластера. Что касается центра сертификации, вы должны иметь возможность предоставлять свои собственные сертификаты (или все, что требует третья сторона) и связывать их, как указано в документе - будет ли этого достаточно для вашего варианта использования?   -  person Ryota    schedule 11.10.2019