Доступ к Google Compute kubernetes возможен только в том случае, если для параметра nodePort на службе NodePort установлено значение 80. - PullRequest
0 голосов
/ 18 октября 2018

Почему-то я пытаюсь запустить проект kubernetes в Google Compute (не в GKE).После всей установки (читай docker-ce, kubelet, kubeadm) я создаю Сервис и Развертывание внутри следующим образом:

apiVersion : v1
kind : Service
metadata:
  name: client-node-port
spec:
  type: NodePort
  ports:
  - port: 90
    targetPort: 80
    nodePort: 31515
  selector:
    component: web

Это работало до тех пор, пока я не изменил внутренний сервис targetPort на любой порт, кроме 80 (вдольс помощью Deployment containerPort).

Я уже пытался включить порт на экземпляре firewall-cmd --permanent --add-port=(any port beside 80)/tcp

Кроме того, я также уже включил правило брандмауэра в google Настройка брандмауэра Google

Есть что-то, что я пропустил?Почему я могу получить доступ к NodePort только тогда, когда параметр nodePort в сервисе равен 80?

Спасибо

PS: Если это актуально, я использую фланелевую сеть

1 Ответ

0 голосов
/ 18 октября 2018

Могу ли я узнать, почему вы пытаетесь изменить targetPort?

TargetPort - это порт на POD, где работает служба.

Nodeport - это порт нак которому служба может получить доступ от внешних пользователей с помощью nodeip: nodeport.

Port: то же самое, что и Nodeport, но может использоваться пользователями кластера с использованием clusterip: port.

Опять же, в вашемесли порт 80 указывает, что служба фактически работает на порту 80.

Вы должны изменить targetPort на случай, если вы установите службу в модуле, который работает на другом порту.

Просмотр этот вопрос для более подробной информации.

...