Kubernetes 通过API启动特定的Pod并从外部连接
我目前正在设计一个系统,在这个系统中,用户应该能够通过Web门户启动模拟,然后通过gRPC客户端连接到它(除其他外)。用户完成后,模拟将终止。如果可能的话,我想在kubernetes集群中的一种微服务架构中运行整个系统。然而,这是我第一次与库伯内特斯合作,我不确定是否有可能实现这一点 就我阅读文档和谷歌搜索所能收集到的信息而言,似乎我应该能够通过调用并通过设置Kubernetes 通过API启动特定的Pod并从外部连接,kubernetes,kubernetes-pod,Kubernetes,Kubernetes Pod,我目前正在设计一个系统,在这个系统中,用户应该能够通过Web门户启动模拟,然后通过gRPC客户端连接到它(除其他外)。用户完成后,模拟将终止。如果可能的话,我想在kubernetes集群中的一种微服务架构中运行整个系统。然而,这是我第一次与库伯内特斯合作,我不确定是否有可能实现这一点 就我阅读文档和谷歌搜索所能收集到的信息而言,似乎我应该能够通过调用并通过设置hostPort使其在主机IP下可用来启动pod。但是,我不知道如何在节点上确定要部署到的空闲端口,或者让kubernetes决定(如果h
hostPort
使其在主机IP下可用来启动pod。但是,我不知道如何在节点上确定要部署到的空闲端口,或者让kubernetes决定(如果hostPort
甚至是正确的选择)。在那之后,它应该是相当简单的。向用户发送要连接的IP:端口,用户只需将其插入gRPC客户端即可
关于如何最好地实现这一点,您有什么建议吗?不建议使用
hostPort
,因此您最好指定一个,并通过服务访问您的Pod。在您的情况下,您可以定义NodePort
服务,并让Kubernetes决定端口。然后,使用Kubernetes API获取服务端口。不建议使用hostPort
,因此最好指定一个端口,并通过服务访问Pod。在您的情况下,您可以定义NodePort
服务,并让Kubernetes决定端口。然后,使用Kubernetes API获取服务端口。那么我会创建一个具有唯一标签的Pod和一个基于唯一标签选择Pod的NodePort服务吗?为了清楚起见,每个用户都可以启动多个模拟。但他必须能够连接到一个特定的模拟。是的,你可以通过标签来区分吊舱/服务。这是一个很好的方法,那么我会创建一个具有唯一标签的Pod和一个基于唯一标签选择Pod的NodePort服务吗?为了清楚起见,每个用户都可以启动多个模拟。但他必须能够连接到一个特定的模拟。是的,你可以通过标签来区分吊舱/服务。这是个好办法,