Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kubernetes 通过API启动特定的Pod并从外部连接_Kubernetes_Kubernetes Pod - Fatal编程技术网

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

Kubernetes 通过API启动特定的Pod并从外部连接,kubernetes,kubernetes-pod,Kubernetes,Kubernetes Pod,我目前正在设计一个系统,在这个系统中,用户应该能够通过Web门户启动模拟,然后通过gRPC客户端连接到它(除其他外)。用户完成后,模拟将终止。如果可能的话,我想在kubernetes集群中的一种微服务架构中运行整个系统。然而,这是我第一次与库伯内特斯合作,我不确定是否有可能实现这一点 就我阅读文档和谷歌搜索所能收集到的信息而言,似乎我应该能够通过调用并通过设置hostPort使其在主机IP下可用来启动pod。但是,我不知道如何在节点上确定要部署到的空闲端口,或者让kubernetes决定(如果h

我目前正在设计一个系统,在这个系统中,用户应该能够通过Web门户启动模拟,然后通过gRPC客户端连接到它(除其他外)。用户完成后,模拟将终止。如果可能的话,我想在kubernetes集群中的一种微服务架构中运行整个系统。然而,这是我第一次与库伯内特斯合作,我不确定是否有可能实现这一点

就我阅读文档和谷歌搜索所能收集到的信息而言,似乎我应该能够通过调用并通过设置
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服务吗?为了清楚起见,每个用户都可以启动多个模拟。但他必须能够连接到一个特定的模拟。是的,你可以通过标签来区分吊舱/服务。这是个好办法,