Невозможно использовать рабочие узлы SSH EKS

Я создал кластер EKS, как указано в https://docs.aws.amazon.com/eks/latest/userguide/getting-started.html.

Добавлены рабочие узлы, как указано в приведенной выше ссылке. Шаг 3. Запуск и настройка рабочих узлов Amazon EKS.

В группе безопасности я также добавил правило для включения ssh для рабочих узлов. Когда я пытался войти в рабочий узел с именем пользователя ec2-user и с действующим ключом, SSH-вход не происходит.

Может ли кто-нибудь помочь мне в устранении этой проблемы?


person Karthik    schedule 28.01.2019    source источник
comment
Что вы получаете при попытке подключения ssh к рабочему узлу?   -  person coolinuxoid    schedule 28.01.2019


Ответы (4)


Я нашел обходной путь. Я создал экземпляр EC2 с тем же VPC, который используется рабочим узлом, а также использовал ту же группу безопасности и пару ключей для вновь созданного экземпляра EC2. Я попытался войти в только что созданный экземпляр EC2, который работает как шарм (не знаю, почему он не работает для рабочих узлов). Как только я вошел в экземпляр, попробовал SSH на рабочие узлы оттуда с частным IP, который работает, как ожидалось.

Опять же, это обходной путь. Не уверен, почему мне не удалось войти в рабочий узел.

person Karthik    schedule 29.01.2019
comment
удалось ли вам узнать настоящую причину / решение? Я тоже столкнулся с той же проблемой. - person kadamb; 11.11.2019

Я думаю, вам не хватает правила SSH для группы безопасности, например, или вы используете неправильный ключ SSH для подключения к рабочим узлам.

Пожалуйста, проверьте с консоли свой идентификатор группы безопасности и добавьте правило SSH из правила для входящих подключений, как показано на скриншоте, если у вас его нет. Правило SSH для группы безопасности рабочих узлов

Или вы можете добавить то же правило через aws cli, например:

aws ec2 authorize-security-group-ingress --group-id <security-group-id>  --protocol tcp --port 22 --cidr 0.0.0.0/0

Затем, указав действительный ключ SSH, вы можете запустить приведенную ниже команду для подключения к своему рабочему узлу.

ssh -i "ssh-key.pem" ec2-user@<node-external-ip or node-dns-name>

Если вы потеряли / пропустили свой ключ, вам необходимо создать новый стек в облачной информации с новой парой ключей SSH, как описано в следующих руководствах.

Создание пары ключей с помощью Amazon EC2 и Запуск и настройка рабочих узлов Amazon EKS < / а>

Надеюсь, это вам поможет.

person coolinuxoid    schedule 28.01.2019

Когда мы создаем Compute, нам нужно убедиться, что включен Разрешить удаленный доступ к узлам. Если этот параметр не выбран, мы не сможем подключиться к рабочим узлам по SSH.

Кроме того, сам EKS создает группу безопасности, которая прикрепляется к рабочим машинам EC2. Я полагаю, вы могли пропустить включение Разрешить удаленный доступ к узлам на шаге 3.

Обходной путь эффективен, потому что и хост-бастион, и сервер находятся в одном VPC. Это правило добавлено по умолчанию в группу безопасности.

person Karthikeyan S    schedule 11.09.2020

Насколько я помню, по умолчанию рабочие узлы AWS EKS не имеют публичных IP-адресов. Вы можете попытаться создать экземпляр EC2 с общедоступным IP-адресом в той же подсети, что и ваши рабочие узлы, а затем использовать его в качестве хоста-бастиона для ssh в рабочие узлы.

person Artem Timchenko    schedule 28.01.2019
comment
Для понимания я включил ICMP-запросы и ответы в группе безопасности. После этого я могу пинговать экземпляр. Существует также правило, разрешающее SSH, но когда я попробовал SSH, я не получил никакого ответа. - person Karthik; 28.01.2019