diff --git a/microservices-modules/microservices-modules-mon/src/main/java/com/microservices/mon/k8s/domain/K8sApplication.java b/microservices-modules/microservices-modules-mon/src/main/java/com/microservices/mon/k8s/domain/K8sApplication.java index 657d78542..9489694fd 100644 --- a/microservices-modules/microservices-modules-mon/src/main/java/com/microservices/mon/k8s/domain/K8sApplication.java +++ b/microservices-modules/microservices-modules-mon/src/main/java/com/microservices/mon/k8s/domain/K8sApplication.java @@ -35,6 +35,9 @@ public class K8sApplication { @ApiModelProperty(value = "Pod选择器") private String podSelector; + @ApiModelProperty(value = "Docker镜像") + private String dockerImage; + @ApiModelProperty(value = "运行状态") private K8sApplicationState state; diff --git a/microservices-modules/microservices-modules-mon/src/main/java/com/microservices/mon/k8s/domain/vo/RancherApplicationVo.java b/microservices-modules/microservices-modules-mon/src/main/java/com/microservices/mon/k8s/domain/vo/RancherApplicationVo.java index 1b6d3249a..33887e1fc 100644 --- a/microservices-modules/microservices-modules-mon/src/main/java/com/microservices/mon/k8s/domain/vo/RancherApplicationVo.java +++ b/microservices-modules/microservices-modules-mon/src/main/java/com/microservices/mon/k8s/domain/vo/RancherApplicationVo.java @@ -18,6 +18,8 @@ public class RancherApplicationVo { RancherMetadataVo metadata; // 状态 RancherApplicationStateVo status; + // 规格 + JSONObject spec; public K8sApplication toK8sApplication() { @@ -36,6 +38,22 @@ public class RancherApplicationVo { target.setReadyReplicas(status.getReadyReplicas()); } + if (spec != null) { + JSONObject templateObj = spec.getJSONObject("template"); + if (templateObj != null) { + JSONObject specObj = templateObj.getJSONObject("spec"); + if (specObj != null) { + JSONArray containersArray = specObj.getJSONArray("containers"); + if (containersArray != null && !containersArray.isEmpty()) { + JSONObject firstContainer = containersArray.getJSONObject(0); + if (firstContainer != null && firstContainer.containsKey("image")) { + target.setDockerImage(firstContainer.getString("image")); + } + } + } + } + } + if (metadata.getAnnotations() != null && metadata.getAnnotations().containsKey("mon-name")) { target.setAlias(metadata.getAnnotations().getString("mon-name")); } @@ -51,10 +69,10 @@ public class RancherApplicationVo { JSONObject relationship = relationships.getJSONObject(i); if (relationship.containsKey("toType") && "pod".equals(relationship.getString("toType"))) { String selector = relationship.getString("selector"); - if (StringUtils.isNotEmpty(selector) && selector.contains("app=")) { - String appName = selector.substring(selector.indexOf("=") + 1); - target.setPodSelector(appName); + if (StringUtils.isNotEmpty(selector) && selector.contains("=") && selector.split("=").length >= 2) { + target.setPodSelector(selector); } + } } return target; diff --git a/microservices-modules/microservices-modules-mon/src/main/java/com/microservices/mon/k8s/domain/vo/RancherServiceVo.java b/microservices-modules/microservices-modules-mon/src/main/java/com/microservices/mon/k8s/domain/vo/RancherServiceVo.java index 6c634191e..fde9917f9 100644 --- a/microservices-modules/microservices-modules-mon/src/main/java/com/microservices/mon/k8s/domain/vo/RancherServiceVo.java +++ b/microservices-modules/microservices-modules-mon/src/main/java/com/microservices/mon/k8s/domain/vo/RancherServiceVo.java @@ -10,6 +10,6 @@ public class RancherServiceVo { String id; // 元数据 RancherMetadataVo metadata; - // 状态 + // 规格 RancherServiceSpecVo spec; }