Клонирование Git с использованием ssh

#amazon-web-services #kubernetes #ssh #gitlab #fluxcd

#amazon-web-services #kubernetes #ssh #gitlab #fluxcd

Вопрос:

У меня есть flux, nginx, модуль gitlab, запущенный в моем кластере kubernetes на AWS. Nginx работает как балансировщик нагрузки / обратный прокси-сервер, в то время как gitlab запускает порт узла (и только gitlab использует nginx).Gitlab и flux находятся в разных пространствах имен. Теперь я хочу использовать ssh из модуля flux в gitlab. Flux устанавливается через helm-диаграммы. Перед установкой flux я запускаю — ssh-keyscan {{ git_host }} > flux_known_hosts и ссылаюсь на это в команде установщика. поскольку мой git_host является URL-адресом балансировщика нагрузки, ssh-keyscan не работает, поскольку он не может разрешить URL-адрес ELB.

Однако, с другой стороны, git clone ssh://git@gitlab.ethan.svc.cluster.local:222/root/automation.git работает, когда я запускаю эту команду из модуля flux. Есть ли какой-либо способ заставить приведенную ниже команду работать из модуля flux (используя URL-адрес elb, а не имя службы gitlab) —

 ssh://git@aa82ee1b284b0464bb1353bd2fbccdd2-1957457895.ca-central-1.elb.amazonaws.com:root/automation.git
  

Я пытался открывать порты на Elb, но, похоже, это не работает.

Комментарии:

1. Есть ли причина, по которой вы не хотите раскрывать gitlab с помощью ELB network LB? Можете ли вы поделиться своей конфигурацией Nginx? Можете ли вы проверить, можете ли вы связаться с приложением с помощью Host:NodePort ?

2. @PjoterS итак, у нас есть еще несколько инструментов, которые стоят за nginx и являются как бы единственной точкой входа, и такова наша общая настройка. Мой nginx conf выглядит следующим образом — server { listen 5011; resolver 110.61.0.11; set $upstream_fluxcd gitlab.ethan.svc.cluster.local:222; я открыл порт 5011 на своем ELB, я могу клонировать с помощью host: nodeport из модуля flux.