Minikube上具有公共可用TCP连接的主机服务?

时间:2020-04-09 18:18:30

标签: docker kubernetes tcp minikube

我目前正在制作一个游戏,其中的服务器需要在Minikube集群内的Pod上复制(我正在使用Minikube,因为它只是一个学校项目)。但是,我似乎无法弄清楚如何使这些游戏服务器可从其他网络访问。我曾尝试制作一个NodePort服务,该服务指向服务器映像的部署,并且当使用Minikube群集IP +服务的端口时,我可以正常连接。

解决此问题的最佳方法是什么?

2 个答案:

答案 0 :(得分:1)

默认情况下,只能通过Kubernetes集群中的内部IP地址访问Pod。为了使您的容器可以从Kubernetes虚拟网络外部访问,您必须在此示例中将Pod公开为Kubernetes Service,类型为LoadBalancer

在支持负载平衡器的云提供商上,将提供一个外部IP地址来访问服务。在Minikube上,通过LoadBalancer命令可以访问minikube service类型的服务。

Minikube 非常适合本地设置,但不适用于实际集群。它仅启动一个单节点群集进行开发和测试。如果要使用多服务器环境,则没有用。

考虑到您想在节点之间快速地使用可伸缩性,使用Kubespray或Kubeadm创建Kubernetes集群非常有用。 如果要运行实际的本地Kubernetes,请使用本地VM,然后使用这些工具创建K8s集群以进行自动部署。

库贝姆

如果您是第一次使用云技术-运行k8s集群,那么kubeadm工具会很好。您可以在各种计算机上安装和使用kubeadm:便携式计算机,一组云服务器等等。无论是部署到云中还是本地,您都可以将kubeadm集成到诸如Ansible或Terraform之类的资源调配系统中。 Kubeadm提供了Kubernetes集群生命周期管理的领域知识,包括自托管布局,动态发现服务等。

Kubespray

Kubespray支持在AWS,Google Compute Engine,Microsoft Azure,OpenStack和裸机上的部署。它可以部署Kubernetes高可用性集群。它支持variety of Linux distributions和CI。 Kubespray支持kubeadm

答案 1 :(得分:0)

没有一个真正好的方法来做到这一点。 Minikube用于本地开发。如果要运行实际的本地Kubernetes,请直接启动本地VM,并使用诸如kubeadm和kubespray之类的东西。