Commit d8332a69 authored by 黎博's avatar 黎博

完善创建namespace接口

parent bd856bc1
...@@ -436,34 +436,87 @@ public class K8sController { ...@@ -436,34 +436,87 @@ public class K8sController {
@RequestParam String desc, @RequestParam String desc,
@RequestParam String owner, @RequestParam String owner,
@RequestParam String templateId) { @RequestParam String templateId) {
// return JsonResult.buildSuccessResult(k8sService.createNewNamespace(name, desc, owner));
Namespace namespace = k8sService.createNewNamespace(name, desc, owner); Namespace namespace = k8sService.createNewNamespace(name, desc, owner);
QueryWrapper<EnvTemplateDetail> queryWrapper = new QueryWrapper<>(); QueryWrapper<EnvTemplateDetail> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("template_id", templateId); queryWrapper.eq("template_id", templateId);
List<EnvTemplateDetail> envTemplateDetailList = envTemplateDetailService.list(queryWrapper); List<EnvTemplateDetail> envTemplateDetailList = envTemplateDetailService.list(queryWrapper);
for (EnvTemplateDetail envTemplateDetail: envTemplateDetailList) { for (EnvTemplateDetail envTemplateDetail: envTemplateDetailList) {
if (envTemplateDetail.getLabel().equals("base")) { String label = envTemplateDetail.getLabel();
switch (envTemplateDetail.getServiceType()) { String image = envTemplateDetail.getTag();
String serviceName = envTemplateDetail.getServiceName();
String serviceType = envTemplateDetail.getServiceType();
String domain = envTemplateDetail.getDomain();
// 处理基础服务
if (label.equals("base")) {
switch (serviceType) {
case "mysql": case "mysql":
k8sService.createMysqlPvc(name); k8sService.createMysqlPvc(name);
k8sService.createMysqlDeployment(name, envTemplateDetail.getTag()); k8sService.createMysqlDeployment(name, image);
k8sService.createMysqlService(name); k8sService.createMysqlService(name);
break; break;
case "mongodb": case "mongodb":
k8sService.createMongodbPvc(name); k8sService.createMongodbPvc(name);
k8sService.createMongoDbDeployment(name, envTemplateDetail.getTag()); k8sService.createMongoDbDeployment(name, image);
k8sService.createMongodbService(name); k8sService.createMongodbService(name);
break; break;
case "redis": case "redis":
k8sService.createRedisDeployment(name, envTemplateDetail.getTag()); k8sService.createRedisDeployment(name, image);
k8sService.createRedisService(name); k8sService.createRedisService(name);
break; break;
case "rabbitmq":
k8sService.createRabbitmqPvc(name);
k8sService.createRabbitmqDeployment(name, image);
k8sService.createRabbitmqService(name);
case "zookeeper":
k8sService.createZookeeperPvc(name);
k8sService.createZookeeperDeployment(name, image);
k8sService.createZookeeperService(name);
default: default:
break; break;
} }
} }
if (label.equals("java")) {
ServiceCreateVo serviceCreateVo = new ServiceCreateVo();
serviceCreateVo.setServiceName(serviceName);
serviceCreateVo.setNamespace(name);
serviceCreateVo.setImage(image);
serviceCreateVo.setType(serviceType);
serviceCreateVo.setDebug(0);
serviceCreateVo.setMock(0);
serviceCreateVo.setDomain(domain);
QueryWrapper<DockerProject> dockerProjectQueryWrapper = new QueryWrapper<>();
dockerProjectQueryWrapper
.eq("project_name", serviceName)
.eq("project_type", serviceType);
DockerProject dockerProject = dockerProjectService.getOne(dockerProjectQueryWrapper);
dockerProjectQueryWrapper.clear();
k8sService.createJavaDeployment(serviceCreateVo, dockerProject);
k8sService.createJavaService(name, serviceName, serviceCreateVo.getDebug());
k8sService.createIngress(name, serviceName, domain);
}
if (label.equals("ui") || label.equals("node")) {
ServiceCreateVo serviceCreateVo = new ServiceCreateVo();
serviceCreateVo.setServiceName(serviceName);
serviceCreateVo.setNamespace(name);
serviceCreateVo.setImage(image);
serviceCreateVo.setType(serviceType);
serviceCreateVo.setDebug(0);
serviceCreateVo.setMock(0);
serviceCreateVo.setDomain(domain);
QueryWrapper<DockerProject> dockerProjectQueryWrapper = new QueryWrapper<>();
dockerProjectQueryWrapper
.eq("project_name", serviceName)
.eq("project_type", serviceType);
DockerProject dockerProject = dockerProjectService.getOne(dockerProjectQueryWrapper);
dockerProjectQueryWrapper.clear();
k8sService.createUIAndNodeDeployment(serviceCreateVo, dockerProject);
k8sService.createUIAndNodeService(name, serviceName, serviceType, label);
k8sService.createIngress(name, serviceName, domain);
}
} }
return null; return JsonResult.buildSuccessResult("环境创建成功");
} }
/** /**
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment