从java应用程序执行命令到kubernetes pod
我一直在搜索web以使用java应用程序在Kubernetes吊舱中执行命令。从java应用程序执行命令到kubernetes pod,java,kubernetes,Java,Kubernetes,我一直在搜索web以使用java应用程序在Kubernetes吊舱中执行命令。 结果很模糊,,因此,我想知道一个pod中运行的java应用程序是否有办法在另一个pod上执行命令?我想您可以使用服务或kube dns与pod进行通信,该服务或kube dns将svcName.service.ns.cluster.local解析为ClusterIP,并使用另一个websocket连接到该pod以侦听您的命令和命令等等 无法帮助您使用java套接字或详细的代码结构,但我确信这会有所帮助 Edit1:服
结果很模糊,,因此,我想知道一个pod中运行的java应用程序是否有办法在另一个pod上执行命令?我想您可以使用服务或kube dns与pod进行通信,该服务或kube dns将
svcName.service.ns.cluster.local
解析为ClusterIP,并使用另一个websocket连接到该pod以侦听您的命令和命令等等
无法帮助您使用java套接字或详细的代码结构,但我确信这会有所帮助
Edit1:服务yaml文件的示例
podA服务:
apiVersion: v1
kind: Service
metadata:
name: svc-nodeport-httpd
spec:
type: NodePort
ports:
- port: 3050
targetPort: 80
nodePort: 31000
selector:
app: apache_webserver
创建pod端口到节点端口连接或
集群。这是建议
apiVersion: v1
kind: Service
metadata:
name: "myapp-service"
namespace: "namespace"
spec:
ports:
- name: appPort
port: 8065
protocol: TCP
targetPort: http
selector:
app: "myapp"
type: ClusterIP
它创建了一个可用于内部通信的服务。我想您可以使用服务或kube dns与pod通信,该服务或kube dns将
svcName.service.ns.cluster.local
解析为ClusterIP,并使用另一个websocket连接到该pod,以侦听您的命令等
无法帮助您使用java套接字或详细的代码结构,但我确信这会有所帮助
Edit1:服务yaml文件的示例
podA服务:
apiVersion: v1
kind: Service
metadata:
name: svc-nodeport-httpd
spec:
type: NodePort
ports:
- port: 3050
targetPort: 80
nodePort: 31000
selector:
app: apache_webserver
创建pod端口到节点端口连接或
集群。这是建议
apiVersion: v1
kind: Service
metadata:
name: "myapp-service"
namespace: "namespace"
spec:
ports:
- name: appPort
port: 8065
protocol: TCP
targetPort: http
selector:
app: "myapp"
type: ClusterIP
它创建了一个可用于内部通信的服务
[是否]在一个pod中运行的java应用程序可以在另一个pod上执行命令
不需要。您需要创建第二个应用程序的网络接口,并对其进行gRPC或HTTP调用,或者将两个程序构建到同一个映像中,以便可以作为普通子进程启动第二个程序
一般来说,容器也是如此。尝试在非Kubernetes Docker容器中运行这两个部分(推荐用于实验和开发)或在同一Kubernetes pod中运行两个容器(不推荐)时会遇到相同的问题
(有一个“但是”涉及使用Kubernetes API,但这是一个相当复杂的设置,它涉及应用程序中Kubernetes特定的代码,并且需要在Kubernetes部署中设置服务帐户和权限。我会避免这种情况,尤其是对于应用程序的核心数据流。)
[是否]在一个pod中运行的java应用程序可以在另一个pod上执行命令
不需要。您需要创建第二个应用程序的网络接口,并对其进行gRPC或HTTP调用,或者将两个程序构建到同一个映像中,以便可以作为普通子进程启动第二个程序
一般来说,容器也是如此。尝试在非Kubernetes Docker容器中运行这两个部分(推荐用于实验和开发)或在同一Kubernetes pod中运行两个容器(不推荐)时会遇到相同的问题
(有一个“但是”涉及使用Kubernetes API,但这是一个相当复杂的设置,它涉及应用程序中Kubernetes特定的代码,并且需要在Kubernetes部署中设置服务帐户和权限。我会避免这种情况,尤其是对于应用程序的核心数据流。)这是否会像……创建一个服务,在pod中有命令列表,我想在其中执行命令并从运行我的应用程序的pod调用该服务?我的意思是用于pod通信的kubernetes服务。从java创建一个套接字以从
pod a
上的端口X进行侦听,从kubernetes创建一个服务以使用端口X轻松访问您的pod
。从您的发送方,java通过连接到您创建的podAservice
将信息从pod B
发送到pod a
。为您添加了两个服务文件示例。希望它能有所帮助。这会像……创建一个服务,在pod中有命令列表,我想在其中执行命令并从运行我的应用程序的pod调用该服务吗?我的意思是用于pod通信的kubernetes服务。从java创建一个套接字以从pod a
上的端口X进行侦听,从kubernetes创建一个服务以使用端口X轻松访问您的pod
。从您的发送方,java通过连接到您创建的podAservice
将信息从pod B
发送到pod a
。为您添加了两个服务文件示例。希望能有帮助。