Как запустить два сервера minecraft с помощью Kubernetes Ingress - PullRequest
0 голосов
/ 06 мая 2020

Я изучаю, как развернуть игровой сервер с кубернетами, но у меня возникла проблема с доступностью модулей, запускающих игру, для Интернета без LoadBalancer. Поскольку запуск балансировщика нагрузки для каждого модуля - это не вариант, мне посоветовали использовать ingress с nodeport, чтобы сделать их доступными через Интернет.

Я могу создать кластер и все модули распределить по узлам так, как я хочу, но я не могу сделать их доступными. Я создал репозиторий github , ссылка ведет на раздел kubernetes, в котором есть весь код для локального запуска сервера, если вы хотите его протестировать. Что касается запуска проекта в облаке, хотя я не могу заставить его работать. В Readme у меня есть шаги, которые я прошел, и файлы с кодом, который у меня есть. Кто-нибудь знает, где я ошибаюсь?

Мне не хватает файла или какой-то концептуальной идеи, которая приходит мне в голову с настройкой nodeports?

Ответы [ 2 ]

2 голосов
/ 07 мая 2020

Я обнаружил, что мне нужно использовать ClusterIP вместо NodePort. Я также обнаружил, что мне нужно исправить не только входящее развертывание, но мне также необходимо исправить входящий сервис, чтобы включить порты данных tcp-services, которые, как я говорил, были доступны в развертывании Ingress.

0 голосов
/ 06 мая 2020

Ваш README.md показывает команду, используемую для создания пула узлов, как:

az aks nodepool add --resource-group mwK8ResourceGroup --cluster-name cluster-1 --name gamenodepool --node-count 2 --kubernetes-version 1.15.7 --labels "workload=game-selector" --node-taints "key1=value1:NoExecute" --node-osdisk-size 30 --node-vm-size Standard_DS2_v2 --debug

При настройке типа службы NodePort служба предоставляется путем доступа к узлу напрямую через IP-адрес. Я ожидал, что ваша команда create будет включать --enable-node-public-ip, чтобы ваш пример кода работал как есть.

Подробности см. В этом разделе документации kubernetes: https://kubernetes.io/docs/concepts/services-networking/connect-applications-service/#exposing -the-service

Вы также можете запустить отдельный балансировщик нагрузки, который перенаправляет трафик c на каждый / любой узел порта, который предоставляется службами NodePort.

Если вы предоставив службу с помощью ресурса "Ingress", вы получите доступ к службе через IP-адрес кластера, а не IP-адрес отдельного узла.

...