如何将visualvm与kubernetes pod中运行的应用程序连接?

wgxvkvu9  于 2023-10-17  发布在  Kubernetes
关注(0)|答案(2)|浏览(141)

我有一个应用程序在Kubernetes集群中作为Pod运行,特别是在Amazon EKS集群上。我想使用VisualVM监视此应用程序的堆大小。如何将VisualVM连接到Kubernetes集群中的应用程序,以及需要进行哪些配置?我是否需要修改部署YAML文件,或者我可以为此目的对Dockerfile进行更改?
期待答案来解决我的问题!

5rgfhyps

5rgfhyps1#

您可以在Pod上使用port-forward direct,并在localhost:31743中使用un visualVM。使用kubcet get pod来知道pod的全名。

kubectl port-forward mendix-app-XXX  31743:31743
xoshrz7s

xoshrz7s2#

不确定您的VisualVM在哪里运行。如果运行在同一个Kubernetes集群上,可以使用服务名称连接Application
如果它在某个地方,并且您必须将您的服务暴露到Internet并连接到VisualVM,则可以使用服务类型LoadBalancer或使用ingress
您可能还希望将IP列入白名单,以便只有VisualVM可以通过Internet连接到您的服务。
如果您的VisualVM运行在AWSVM(windows/Linux)上,您可以在Kubernetes上创建内部LB服务类型,并公开您的服务并使用该IP。

更新service.yaml

apiVersion: v1
kind: Service
metadata:
  name: mendix-app-service-lb
  labels:
    app: mendix-k8s
spec:
  ports:
  - name: http
    port: 8080
    protocol: TCP
  - name: jmx
    port: 7845
    protocol: TCP
  selector:
    app: mendix-k8s
  type: LoadBalancer
  loadBalancerSourceRanges:
  - 160.2X1.2X4.1/32 #Add your IP here to the whitelist so only you can connect

相关问题