|
@@ -109,12 +109,13 @@ public class ProjectUtil {
|
|
|
String key = "pod:" + podName + ":node";
|
|
|
// 先删除 redis key
|
|
|
RedisUtil.deleteByKey(stringRedisTemplate, "pod:" + podName + ":node");
|
|
|
+ RedisUtil.deleteByKey(stringRedisTemplate, "pod:" + podName + ":cpu");
|
|
|
KubernetesUtil.deletePod(apiClient, kubernetesConfiguration.getNamespace(), podName);
|
|
|
TimeUnit.SECONDS.sleep(10); // 暂停 10 秒等待资源完全释放。
|
|
|
- log.info("ProjectUtil--deletePod 删除 pod 并删除 redis 键值对:" + key);
|
|
|
+ log.info("deletePod() 删除 pod 并删除 redis 键值对:" + key);
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
- log.error("ProjectUtil--deletePod pod " + podName + " 不存在。", e);
|
|
|
+ log.error("deletePod() pod " + podName + " 不存在。", e);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -135,6 +136,7 @@ public class ProjectUtil {
|
|
|
//1 删除上一个 pod 和 redis 键值对 和 旧的 yaml 文件
|
|
|
// new Thread(() -> deletePod(lastPodName), "delete-" + lastPodName).start();
|
|
|
//
|
|
|
+ String cpuOrderString = stringRedisTemplate.opsForValue().get("pod:" + lastPodName + ":cpu");
|
|
|
deletePod(lastPodName);
|
|
|
List<String> list = FileUtil.listAbsolutePath(podYamlDirectory);
|
|
|
Iterator<String> iterator1 = list.iterator();
|
|
@@ -148,7 +150,6 @@ public class ProjectUtil {
|
|
|
}
|
|
|
for (String absolutePath : list) {
|
|
|
if (absolutePath.contains(nodeName) && absolutePath.contains(projectId)) {
|
|
|
- String cpuOrderString = stringRedisTemplate.opsForValue().get("pod:" + lastPodName + ":cpu");
|
|
|
Optional.ofNullable(cpuOrderString).orElseThrow(() -> new RuntimeException("createNextPod2() pod " + lastPodName + " 缓存的 cpu 编号为空。"));
|
|
|
final String read = FileUtil.read(absolutePath);
|
|
|
final String replace = read.replace("cpu-order", "\"" + cpuOrderString + "\"");
|
|
@@ -213,7 +214,7 @@ public class ProjectUtil {
|
|
|
} else if (autoSubProjectPO != null) {
|
|
|
return autoSubProjectPO;
|
|
|
}
|
|
|
- throw new RuntimeException("ProjectUtil--getProjectByProjectId 不存在项目:" + projectId);
|
|
|
+ throw new RuntimeException("getProjectByProjectId() 不存在项目:" + projectId);
|
|
|
}
|
|
|
|
|
|
|
|
@@ -251,7 +252,7 @@ public class ProjectUtil {
|
|
|
*/
|
|
|
public Map<String, Integer> getNodeMap() {
|
|
|
List<KubernetesNodeTO> initialNodeList = kubernetesConfiguration.getNodeList(); // 预设并行度的节点列表
|
|
|
- log.info("ProjectUtil--getNodeMap 预设并行度的节点列表为:" + initialNodeList);
|
|
|
+ log.info("getNodeMap() 预设并行度的节点列表为:" + initialNodeList);
|
|
|
Map<String, Integer> resultNodeMap = new HashMap<>(); // 用于执行的节点映射(节点名,并行度)
|
|
|
for (KubernetesNodeTO kubernetesNodeSource : initialNodeList) {
|
|
|
KubernetesNodeTO kubernetesNodeCopy = kubernetesNodeSource.clone();
|
|
@@ -482,7 +483,7 @@ public class ProjectUtil {
|
|
|
} else if (DictConstants.PROJECT_TYPE_AUTO_SUB.equals(projectType)) {
|
|
|
userId = autoSubProjectMapper.selectCreateUserById(projectId);
|
|
|
} else {
|
|
|
- throw new RuntimeException("PrjectUtil--getRedisPrefixByProjectIdAndProjectType 未知的项目类型!");
|
|
|
+ throw new RuntimeException("ProjectUtil--getRedisPrefixByProjectIdAndProjectType 未知的项目类型!");
|
|
|
}
|
|
|
|
|
|
//3 获取用户类型(管理员账户、管理员子账户、普通账户、普通子账户)(独占、共享)
|