如何使用kubernetes ingress运行两台minecraft服务器



我正在研究如何使用kubernetes部署游戏服务器,但遇到了一个问题,即在没有LoadBalancer的情况下,运行游戏的pod可以访问网络。由于不能为每个pod运行负载均衡器,我被告知要使用带有节点端口的ingress,以使它们在web上可用。

我可以按照我想要的方式创建集群,并将pod全部分发到节点上,但我无法访问它们。我创建了一个github repo,链接到kubernetes部分,如果你想测试它,它有在本地运行服务器的所有代码。至于在云中运行项目,尽管我似乎无法做到这一点。在Readme中,我有我所经历的步骤和迄今为止包含代码的文件。有人知道我哪里错了吗?

我是不是错过了一个文件,或者一些关于节点端口设置的概念性想法?

我发现我需要使用ClusterIP而不是NodePort。我还发现,我不仅需要修补入口部署,还需要修补入口服务,以包括我所说的ingress部署中可用的tcp服务数据端口。

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-服务

您还可以运行一个单独的负载均衡器,将流量转发到NodePort服务公开的端口上的每个/任一节点。

如果您使用"Ingress"资源公开服务,您将通过集群IP地址而不是单个节点的IP地址访问服务。

相关内容

  • 没有找到相关文章

最新更新