Хост-сервис на Миникубе с доступным c доступным TCP-соединением? - PullRequest
0 голосов
/ 09 апреля 2020

В настоящее время я работаю над созданием игры, в которой необходимо реплицировать серверы на контейнерах внутри кластера Minikube (я использую Minikube, поскольку это всего лишь школьный проект). Однако я не могу понять, как сделать эти игровые серверы доступными из других сетей. Я попытался создать службу NodePort, которая указывает на развертывание образа моего сервера, и при использовании IP-адреса кластера Minikube + порт моей службы я могу подключиться нормально.

Какой наилучший подход для решения этой проблемы

Ответы [ 2 ]

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

По умолчанию Pod доступен только по его внутреннему IP-адресу в кластере Kubernetes. Чтобы сделать ваш контейнер доступным из-за пределов виртуальной сети Kubernetes, вы должны выставить Pod как Kubernetes Service в этом примере как тип LoadBalancer .

В облачных провайдерах, которые поддерживают балансировщики нагрузки, для доступа к Сервису будет предоставлен внешний IP-адрес. В Minikube тип LoadBalancer делает Службу доступной с помощью команды minikube service.

Minikube отлично подходит для локальных настроек, но не для реальных кластеров. Он раскручивает только одноузловой кластер для разработки и тестирования. Бесполезно, если вы хотите использовать среду с несколькими серверами.

Учитывая, что вы хотите быстро играть с масштабируемостью по узлам, полезно создать кластер Kubernetes - используя Kubespray или Kubeadm. , Если вы хотите запустить настоящий локальный Kubernetes, используйте локальную виртуальную машину, а затем создайте кластер K8s, используя эти инструменты для автоматического развертывания.

Kubeadm

Инструмент kubeadm хорошо, если вы впервые в облачных технологиях - запустите кластер k8s впервые. Вы можете установить и использовать kubeadm на разных машинах: вашем ноутбуке, наборе облачных серверов и многом другом. Независимо от развертывания в облаке или локально, вы можете интегрировать kubeadm в такие системы обеспечения, как Ansible или Terraform. Kubeadm предоставляет область знаний об управлении жизненным циклом кластеров Kubernetes, включая автономные макеты, службы обнаружения Dynami c и т. Д.

Kubespray

Kubespray поддерживает развертывания на AWS, Google Compute Engine, Microsoft Azure, OpenStack и голом металле. Это позволяет развертывать высокодоступные кластеры Kubernetes. Он поддерживает множество Linux дистрибутивов и CI. Kubespray поддерживает kubeadm.

0 голосов
/ 10 апреля 2020

Нет действительно хорошего способа сделать это. Миникуб для местного развития. Если вы хотите запустить настоящий локальный Kubernetes, запустите локальную виртуальную машину напрямую и используйте что-то вроде kubeadm и kubespray.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...