Commit 94957db2 authored by 黎博's avatar 黎博

新增

parent cde64549
......@@ -5,6 +5,7 @@ import cn.qg.holmes.entity.k8s.DockerProject;
import cn.qg.holmes.entity.k8s.ServiceCreateVo;
import cn.qg.holmes.service.k8s.*;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import io.fabric8.kubernetes.api.model.apps.Deployment;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
......@@ -187,7 +188,8 @@ public class K8sController {
}
/**
* 实际上是更新pod
* 废弃
* 修改pod
* @param namespace 环境
* @param serviceName 服务名
* @param image 镜像名
......@@ -198,6 +200,42 @@ public class K8sController {
return JsonResult.buildSuccessResult(k8sService.updateDeployment(namespace, serviceName, image));
}
/**
* 更新pod
* @param serviceCreateVo
* @return
*/
@PostMapping("/service/update")
public JsonResult updatePod(@RequestBody ServiceCreateVo serviceCreateVo) {
String namespace = serviceCreateVo.getNamespace();
String serviceName = serviceCreateVo.getServiceName();
String label = serviceCreateVo.getLabel();
String type = serviceCreateVo.getType();
// 获取dockerProject
QueryWrapper<DockerProject> dockerProjectQueryWrapper = new QueryWrapper<>();
dockerProjectQueryWrapper
.eq("project_name", serviceName)
.eq("project_type", type);
DockerProject dockerProject = dockerProjectService.getOne(dockerProjectQueryWrapper);
// 先删除原有pod
if (!k8sService.deleteDeployment(namespace, serviceName)) {
return JsonResult.buildErrorStateResult("更新服务失败!", false);
}
// 再创建新pod
Deployment deployment = null;
if (label.equals("java")) {
deployment = k8sService.createJavaDeployment(serviceCreateVo, dockerProject);
}
if (label.equals("ui") || label.equals("node")) {
deployment = k8sService.createUIAndNodeDeployment(serviceCreateVo, dockerProject);
}
if (deployment != null) {
return JsonResult.buildSuccessResult("更新成功!");
} else {
return JsonResult.buildErrorStateResult("更新失败", false);
}
}
/**
* 删除pod
* @param namespace 环境
......
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