Локальный порт Kubernetes для развертывания в Minikube

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

Я пробовал две конфигурации YAML (одна - балансировщик нагрузки, другая - просто служба, открывающая порт). I: http://pastebin.com/gL5ZBZg7

apiVersion: v1
kind: Service
metadata:
  name: bot
labels:
    app: bot
spec:
  type: LoadBalancer
  ports:
  - port: 8000
    targetPort: 8000
    protocol: TCP
  selector:
    app: bot

II: http://pastebin.com/sSuyhzC5

apiVersion: v1
kind: Service
metadata:
  name: bot
  labels:
    app: bot
spec:
  ports:
  - port: 8000
    targetPort: 8000
    protocol: TCP
  selector:
    app: bot

Развертывание и образ контейнера докеров предоставляют порт 8000, а модуль Pod помечен тегом app: bot.

Первый приводит к созданию службы с портом, который никогда не завершается, и внешний IP-адрес никогда не назначается. Второй результат: порт бота: 8000 TCP, бот: 0 TCP на моей панели инструментов, и когда я пробую «сервисный бот minikube», ничего не происходит. То же самое произойдет, если я наберу «kubectl expose service bot».

Я использую Mac OS X.

Как мне это правильно настроить?


person skunkwerk    schedule 03.03.2017    source источник


Ответы (2)


Служба LoadBalancer предназначена для поставщиков облачных услуг и не очень актуальна для minikube.

Из документации:

В облачных провайдерах, которые поддерживают внешние балансировщики нагрузки, установка в поле типа значения «LoadBalancer» предоставит балансировщик нагрузки для вашей службы.

Использование Service типа NodePort (см. документацию), как указано в Сетевая часть документации minikube - это предполагаемый способ раскрытия услуги на миникубе.

Итак, ваша конфигурация должна выглядеть так:

apiVersion: v1
kind: Service
metadata:
  name: bot
  labels:
    app: bot
spec:
  type: NodePort
  ports:
  - port: 8000
    targetPort: 8000
    nodePort: 30356
    protocol: TCP
  selector:
    app: bot

И получите доступ к своему приложению через:

> IP=$(minikube ip)
> curl "http://$IP:30356"

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

person pagid    schedule 04.03.2017

В Minikube теперь есть служебная команда для доступа к службе.

Используйте 1_.

Это даст вам URL-адрес, который вы можете использовать для разговора со службой.

person adam.sandor    schedule 06.03.2017