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

新增

parent cde64549
...@@ -5,6 +5,7 @@ import cn.qg.holmes.entity.k8s.DockerProject; ...@@ -5,6 +5,7 @@ import cn.qg.holmes.entity.k8s.DockerProject;
import cn.qg.holmes.entity.k8s.ServiceCreateVo; import cn.qg.holmes.entity.k8s.ServiceCreateVo;
import cn.qg.holmes.service.k8s.*; import cn.qg.holmes.service.k8s.*;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 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.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
...@@ -187,7 +188,8 @@ public class K8sController { ...@@ -187,7 +188,8 @@ public class K8sController {
} }
/** /**
* 实际上是更新pod * 废弃
* 修改pod
* @param namespace 环境 * @param namespace 环境
* @param serviceName 服务名 * @param serviceName 服务名
* @param image 镜像名 * @param image 镜像名
...@@ -198,6 +200,42 @@ public class K8sController { ...@@ -198,6 +200,42 @@ public class K8sController {
return JsonResult.buildSuccessResult(k8sService.updateDeployment(namespace, serviceName, image)); 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 * 删除pod
* @param namespace 环境 * @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