Commit d8332a69 authored by 黎博's avatar 黎博

完善创建namespace接口

parent bd856bc1
......@@ -436,34 +436,87 @@ public class K8sController {
@RequestParam String desc,
@RequestParam String owner,
@RequestParam String templateId) {
// return JsonResult.buildSuccessResult(k8sService.createNewNamespace(name, desc, owner));
Namespace namespace = k8sService.createNewNamespace(name, desc, owner);
QueryWrapper<EnvTemplateDetail> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("template_id", templateId);
List<EnvTemplateDetail> envTemplateDetailList = envTemplateDetailService.list(queryWrapper);
for (EnvTemplateDetail envTemplateDetail: envTemplateDetailList) {
if (envTemplateDetail.getLabel().equals("base")) {
switch (envTemplateDetail.getServiceType()) {
String label = envTemplateDetail.getLabel();
String image = envTemplateDetail.getTag();
String serviceName = envTemplateDetail.getServiceName();
String serviceType = envTemplateDetail.getServiceType();
String domain = envTemplateDetail.getDomain();
// 处理基础服务
if (label.equals("base")) {
switch (serviceType) {
case "mysql":
k8sService.createMysqlPvc(name);
k8sService.createMysqlDeployment(name, envTemplateDetail.getTag());
k8sService.createMysqlDeployment(name, image);
k8sService.createMysqlService(name);
break;
case "mongodb":
k8sService.createMongodbPvc(name);
k8sService.createMongoDbDeployment(name, envTemplateDetail.getTag());
k8sService.createMongoDbDeployment(name, image);
k8sService.createMongodbService(name);
break;
case "redis":
k8sService.createRedisDeployment(name, envTemplateDetail.getTag());
k8sService.createRedisDeployment(name, image);
k8sService.createRedisService(name);
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:
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