Рабочим нагрузкам EKS Fargate не удается разрешить DNS-имена

Почему рабочая нагрузка, использующая EKS Fargate, не может разрешить DNS-имена, в то время как та же рабочая нагрузка, запущенная на узле EC2, может разрешать имена? В Fargate рабочая нагрузка не может разрешить службу, работающую в кластере, DNS-имя в частной зоне размещения или общедоступное DNS-имя.

/ $ nslookup my-api.my-namespace.svc.cluster.loca
;; connection timed out; no servers could be reached

/ $ nslookup my-record.my-domain.com
;; connection timed out; no servers could be reached

/ $ nslookup www.google.co.uk
;; connection timed out; no servers could be reached

/ $
  • Кластер является частным, а узлы EC2 находятся в тех же подсетях VPC, что и профиль Fargate.
  • Частные подсети находятся в VPC, который используется совместно с частной зоной размещения.
  • Разрешение DNS включено для VPC.
  • К ENI, прикрепленному к профилю Fargate, прикреплена группа безопасности кластера, при этом разрешен выход на все порты на 0.0.0.0/0 при входе на все порты от самого SG.

Я просмотрел Рекомендации по использованию AWS Fargate и не считаю, что какой-либо из них является проблемой.

Кто-нибудь может подсказать, почему EKS Fargate не может разрешить DNS-имена?


Если это актуально, вот пример манифеста, который я использую для развертывания задания, которое будет запланировано в Fargate.

apiVersion: batch/v1
kind: Job
metadata:
  name: test-fargate
spec:
  backoffLimit: 0
  ttlSecondsAfterFinished: 600
  template:
    spec:
      restartPolicy: Never
      containers:
        - name: test-import-aixm
          image: my-container/image:latest
          command: [ "/bin/sh", "-c", "--" ]
          args: [ "while true; do sleep 30; done;" ]
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
86
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Возможно, Фаргейт не сможет решить:

  1. Проверьте, где работают ваши модули core-dns, и посмотрите, разрешен ли трафик между core-dns и модулем Fargate. Например, если core-dns работает на рабочем узле ec2, убедитесь, что связь разрешена между группой безопасности рабочего узла и группой безопасности модуля Fargate, то есть группой безопасности кластера (по умолчанию группа безопасности кластера будет прикреплена к модулям Fargate).

  2. Проверьте, может ли модуль Fargate разрешить напрямую, используя IP-адрес кластера службы kube-dns (служба Core-DNS), а также индивидуально с помощью IP-адреса модуля Core-DNS.

nslookup my-record.my-domain.com <'ip-адрес кластера службы kube-dns'>

nslookup my-record.my-domain.com <'cored-dns pod ip'>

Это был номер 1. Мне нужно было разрешить UDP DNS (порт 53) из основной группы безопасности кластера (которая автоматически присоединяется к псевдоузлам Fargate) в группу безопасности узла. Мне также пришлось разрешить TCP 8080 для моего конкретного случая использования.

David Gard 30.06.2024 18:17

Другие вопросы по теме