通过API启动特定的Pod并从外部连接

时间:2020-04-06 08:32:02

标签: kubernetes kubernetes-pod

我目前正在设计一个系统,用户应该能够通过Web门户启动仿真,然后使用gRPC客户端(除其他外)连接到该仿真。用户完成操作后,仿真将终止。我想尽可能在​​kubernetes集群中的一种微服务架构中运行整个系统。但是,这是我第一次使用kubernetes,我不确定是否有可能实现这一目标。

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

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

1 个答案:

答案 0 :(得分:2)

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