Browse Source

docker 配置加上服务器用户密码方便删除算法镜像

martin 2 years ago
parent
commit
ea83778770

+ 4 - 0
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/configuration/docker/DockerConfiguration.java

@@ -1,9 +1,12 @@
 package com.css.simulation.resource.scheduler.configuration.docker;
 
+import com.css.simulation.resource.scheduler.pojo.to.DockerNodeTO;
 import lombok.Data;
 import org.springframework.boot.context.properties.ConfigurationProperties;
 import org.springframework.context.annotation.Configuration;
 
+import java.util.List;
+
 @Configuration
 @ConfigurationProperties(prefix = "docker")
 @Data
@@ -11,4 +14,5 @@ public class DockerConfiguration {
     private String registry;
     private Integer maxAlgorithmImage;
     private Integer minAlgorithmImage;
+    private List<DockerNodeTO> nodeList;
 }

+ 28 - 0
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/pojo/to/DockerNodeTO.java

@@ -0,0 +1,28 @@
+package com.css.simulation.resource.scheduler.pojo.to;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class DockerNodeTO implements Cloneable{
+    private String name;
+    private String hostname;
+    private String username;
+    private String password;
+
+
+    @Override
+    public DockerNodeTO clone() {
+        try {
+            // TODO: copy mutable state here, so the clone can't change the internals of the original
+            return (DockerNodeTO) super.clone();
+        } catch (CloneNotSupportedException e) {
+            throw new AssertionError();
+        }
+    }
+}

+ 6 - 9
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/scheduler/AlgorithmScheduler.java

@@ -2,10 +2,9 @@ package com.css.simulation.resource.scheduler.scheduler;
 
 import api.common.util.SshUtil;
 import com.css.simulation.resource.scheduler.configuration.docker.DockerConfiguration;
-import com.css.simulation.resource.scheduler.configuration.kubernetes.KubernetesConfiguration;
 import com.css.simulation.resource.scheduler.mapper.AlgorithmMapper;
 import com.css.simulation.resource.scheduler.pojo.po.AlgorithmPO;
-import com.css.simulation.resource.scheduler.pojo.to.KubernetesNodeTO;
+import com.css.simulation.resource.scheduler.pojo.to.DockerNodeTO;
 import lombok.SneakyThrows;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.sshd.client.SshClient;
@@ -21,8 +20,6 @@ import java.util.List;
 @Slf4j
 public class AlgorithmScheduler {
 
-    @Resource
-    KubernetesConfiguration kubernetesConfiguration;
     @Resource
     DockerConfiguration dockerConfiguration;
     @Resource
@@ -56,11 +53,11 @@ public class AlgorithmScheduler {
         //3 修改数据库为未导入
         algorithmMapper.updateDockerImportAndDockerImageByIdList("0", "", algorithmIdToUpdateList);
         //4 删除镜像
-        List<KubernetesNodeTO> nodeList = kubernetesConfiguration.getNodeList();
-        for (KubernetesNodeTO kubernetesNodeTO : nodeList) {
-            String hostname = kubernetesNodeTO.getHostname();
-            String username = kubernetesNodeTO.getUsername();
-            String password = kubernetesNodeTO.getPassword();
+        List<DockerNodeTO> nodeList = dockerConfiguration.getNodeList();
+        for (DockerNodeTO dockerNodeTO : nodeList) {
+            String hostname = dockerNodeTO.getHostname();
+            String username = dockerNodeTO.getUsername();
+            String password = dockerNodeTO.getPassword();
             SshClient client = SshUtil.getClient();
             ClientSession session = SshUtil.getSession(client, hostname, username, password);
             SshUtil.execute(session, dockerRmiCommand.toString());