首页 > 解决方案 > 通过 API 启动特定 Pod 并从外部连接

问题描述

我目前正在设计一个系统,用户应该能够通过 Web Portal 开始模拟,然后使用 gRPC 客户端(以及其他东西)连接到它。用户完成后,模拟将终止。如果可能的话,我想在 Kubernetes 集群中以一种微服务架构运行整个系统。然而,这是我第一次使用 kubernetes,我不确定是否有可能实现这一点。

据我从阅读文档和谷歌搜索中收集到的,似乎我应该能够通过调用POST /api/v1/namespaces/{namespace}/pods并通过设置在主机 IP 下使其可用来启动一个 pod hostPort。但是我不知道我将如何确定节点上的空闲端口以部署到或让 kubernetes 决定(如果hostPort这甚至是正确的选择)。之后,它应该非常简单。向用户发送要连接的 IP:Port,他只需将其插入他的 gRPC 客户端。

关于如何最好地实现这一目标的任何建议?

标签: kuberneteskubernetes-pod

解决方案


不建议使用hostPort,因此最好指定一个服务并通过服务访问您的 Pod。在您的情况下,您可以定义NodePort服务并让 Kubernetes 决定端口。然后,使用 Kubernetes API 获取服务端口。


推荐阅读