Невозможно получить доступ к моей открытой службе с помощью nodeIP: nodePort в AWS EKS - PullRequest
0 голосов
/ 23 апреля 2020

У меня есть кластер EKS только с частными подсетями, я попытался предоставить простой сервис nginx на nodePort, а затем проверить этот URL-адрес private-node-ip: nodePort в браузере, но он показывает , что этот сайт может ' т

вот мой код:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
  labels:
    app: nginx
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.7.9
        ports:
        - containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
  name: nginx
spec:
  type: NodePort
  ports:
  - port: 80
    name: http
    targetPort: 80
  selector:
    app: nginx

1 Ответ

1 голос
/ 23 апреля 2020

Ваше значение port: 80 для NodePort находится за пределами допустимого диапазона по умолчанию (от 30000 до 32767) для kubernetes. Этот диапазон можно изменить, см., Например, здесь , но я не думаю, что вы можете выставить низкие номера портов с помощью NodePort, хотя я открыт для исправления. Надеюсь, это поможет.

Редактировать - я неправильно понял вопрос выше, и мой первоначальный ответ неверен. Если бы ваш сервис сказал NodePort: 80, то диапазон был бы проблемой.

Но, читая ваш вопрос еще раз, NodePort обычно выставляется для публичного c IP. Если ваш кластер не имеет общедоступного IP-адреса c, то компьютер, с которого вы просматриваете, должен находиться в той же частной сети, что и ваш кластер. Это не будет выставлено публике c Inte rnet. См. здесь для обсуждения этой проблемы.

...