Commit dc23d4df authored by 黎博's avatar 黎博

新增/k8s/service/modify接口

parent 41d9f868
......@@ -196,16 +196,62 @@ public class K8sController {
}
/**
* 废弃
* 修改pod
* @param namespace 环境
* @param serviceName 服务名
* @param image 镜像名
* jenkins打包部署镜像接口
* @param serviceCreateVo
* @return
*/
@PostMapping("/service/modify")
public JsonResult modifyPod(String namespace, String serviceName, String image) {
return JsonResult.buildSuccessResult(k8sService.updateDeployment(namespace, serviceName, image));
public JsonResult modifyPod(@RequestBody ServiceCreateVo serviceCreateVo) {
String serviceName = serviceCreateVo.getServiceName();
String type = serviceCreateVo.getType();
String label = serviceCreateVo.getLabel();
String namespace = serviceCreateVo.getNamespace();
QueryWrapper<DockerProject> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("project_name", serviceName);
if (label.equals("java")) {
// JAVA
DockerProject dockerProject = dockerProjectService.getOne(queryWrapper);
// 创建Service
if (k8sService.queryIfServiceExistByName(namespace, serviceName)) {
k8sService.deleteService(namespace, serviceName);
}
k8sService.createJavaService(namespace, serviceName, serviceCreateVo.getDebug());
// 创建Deployment
if (k8sService.queryIfDeploymentExistByName(namespace, serviceName)) {
k8sService.deleteDeployment(namespace, serviceName);
}
k8sService.createJavaDeployment(serviceCreateVo, dockerProject);
// 创建Ingress
if (k8sService.queryIfIngressExistByName(namespace, serviceName)) {
k8sService.deleteIngress(namespace, serviceName);
}
k8sService.createIngress(namespace, serviceName, serviceCreateVo.getDomain());
} else if (label.equals("ui") || label.equals("node")) {
// UI
DockerProject dockerProject = dockerProjectService.getOne(queryWrapper);
// 创建Service
if (k8sService.queryIfServiceExistByName(namespace, serviceName)) {
k8sService.deleteService(namespace, serviceName);
}
k8sService.createUIAndNodeService(namespace, serviceName, type, label);
// 创建Deployment
if (k8sService.queryIfDeploymentExistByName(namespace, serviceName)) {
k8sService.deleteDeployment(namespace, serviceName);
}
k8sService.createUIAndNodeDeployment(serviceCreateVo, dockerProject);
// 创建Ingress
if (k8sService.queryIfIngressExistByName(namespace, serviceName)) {
k8sService.deleteIngress(namespace, serviceName);
}
k8sService.createIngress(namespace, serviceName, serviceCreateVo.getDomain());
} else {
return JsonResult.buildErrorStateResult("暂不支持!", false);
}
return JsonResult.buildSuccessResult("镜像部署成功");
}
/**
......
......@@ -2197,6 +2197,26 @@ public class K8sService {
return kubernetesClient.namespaces().create(namespace);
}
/**
* 删除ingress
* @param namespace 环境
* @param serviceName 服务名
* @return
*/
public boolean deleteIngress(String namespace, String serviceName) {
return kubernetesClient.extensions().ingresses().inNamespace(namespace).withName(serviceName).delete();
}
/**
* 删除Service
* @param namespace 环境
* @param serviceName 服务名
* @return
*/
public boolean deleteService(String namespace, String serviceName) {
return kubernetesClient.services().inNamespace(namespace).withName(serviceName).delete();
}
public void podTest() {
Map<String, String> labels = new HashMap<>();
labels.put("qcloud-app", "mysql");
......
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