Commit f5daa84e authored by 黎博's avatar 黎博

update

parent ef3d157d
......@@ -88,7 +88,8 @@ public class TkeService {
* @param namespace 环境
* @return
*/
public List<Map<String, Object>> getPodList(String namespace) {
public List<Map<String, Object>> getPodList(String namespace)
{
List<Pod> podList = kubernetesClient.pods().inNamespace(namespace).list().getItems();
List<Map<String, Object>> result = new ArrayList<>();
for (Pod pod: podList) {
......@@ -182,20 +183,22 @@ public class TkeService {
Map<String, String> labels = new HashMap<>();
labels.put("type", label);
labels.put("qcloud-app", serviceName);
objectMeta.setName(serviceName);
objectMeta.setNamespace(namespace);
objectMeta.setLabels(labels);
// 设置spec
List<ServicePort> portList = new ArrayList<>();
ServicePort servicePort1 = new ServicePort();
servicePort1.setName("80");
servicePort1.setPort(80);
ServicePort servicePort2 = new ServicePort();
servicePort1.setName("5005");
servicePort1.setPort(5005);
servicePort2.setName("5005");
servicePort2.setPort(5005);
ServicePort servicePort3 = new ServicePort();
servicePort1.setName("20880");
servicePort1.setPort(20880);
servicePort3.setName("20880");
servicePort3.setPort(20880);
portList.add(servicePort1);
portList.add(servicePort2);
portList.add(servicePort3);
......@@ -673,7 +676,14 @@ public class TkeService {
return kubernetesClient.services().inNamespace(namespace).create(redisService);
}
/**
* 创建redis container
* @param image 镜像名
* @param port 端口号
* @return
*/
public Container createRedisContainer(String image, String port) {
// TODO: 2021/7/13 cpu和内存控制
Container container = new Container();
container.setName("redis-" + port);
container.setImage("ccr.ccs.tencentyun.com/" + image);
......@@ -826,6 +836,87 @@ public class TkeService {
return kubernetesClient.apps().deployments().inNamespace(namespace).create(redisDeployment);
}
/**
* 创建mysql service
* @param namespace 环境
* @return
*/
public Service createMysqlService(String namespace) {
Service mysqlService = new Service();
// 创建metadata
ObjectMeta objectMeta = new ObjectMeta();
Map<String, String> labelMap = new HashMap<>();
labelMap.put("type", "base");
labelMap.put("qcloud-app", "mysql");
objectMeta.setLabels(labelMap);
objectMeta.setName("mysql");
objectMeta.setNamespace(namespace);
// 创建spec
ServiceSpec serviceSpec = new ServiceSpec();
List<ServicePort> servicePortList = new ArrayList<>();
ServicePort servicePort1 = new ServicePort();
servicePort1.setPort(3306);
servicePortList.add(servicePort1);
Map<String, String> selectorMap = new HashMap<>();
selectorMap.put("qcloud-app", "mysql");
serviceSpec.setType("NodePort");
serviceSpec.setPorts(servicePortList);
serviceSpec.setSelector(selectorMap);
// 设置service
mysqlService.setApiVersion("v1");
mysqlService.setKind("Service");
mysqlService.setMetadata(objectMeta);
mysqlService.setSpec(serviceSpec);
return kubernetesClient.services().inNamespace(namespace).create(mysqlService);
}
/**
* 创建mysql pvc
* @param namespace 环境
*/
public PersistentVolumeClaim createMysqlPvc(String namespace) {
PersistentVolumeClaim mysqlPvc = new PersistentVolumeClaim();
// 设置metadata
ObjectMeta objectMeta = new ObjectMeta();
objectMeta.setName("mysql-" + namespace);
objectMeta.setNamespace(namespace);
// 设置spec
PersistentVolumeClaimSpec pvcSpec = new PersistentVolumeClaimSpec();
List<String> accessModeList = new ArrayList<>();
accessModeList.add("ReadWriteOnce");
ResourceRequirements resourceRequirements = new ResourceRequirements();
Map<String, Quantity> requests = new HashMap<>();
Quantity quantity = new Quantity();
quantity.setAmount("20");
quantity.setFormat("Gi");
requests.put("storage", quantity);
resourceRequirements.setRequests(requests);
pvcSpec.setAccessModes(accessModeList);
pvcSpec.setResources(resourceRequirements);
mysqlPvc.setApiVersion("v1");
mysqlPvc.setKind("PersistentVolumeClaim");
mysqlPvc.setMetadata(objectMeta);
mysqlPvc.setSpec(pvcSpec);
return kubernetesClient.persistentVolumeClaims().inNamespace(namespace).create(mysqlPvc);
}
/**
*
*/
public Deployment createMysqlDeployment(String namespace) {
return null;
}
/**
* 更新部署pod
* @param namespace 环境
......@@ -862,23 +953,29 @@ public class TkeService {
// System.out.println(k8sService.resetPod("fe", "acm-ui-58864499d9-h47rl"));
// tkeService.deleteService("fe", "kdsp");
//创建deployment
// ServiceCreateVo serviceCreateVo = new ServiceCreateVo();
// serviceCreateVo.setServiceName("gu-bei");
// serviceCreateVo.setNamespace("fe");
// serviceCreateVo.setNamespace("test1");
// serviceCreateVo.setCluster("qa");
// serviceCreateVo.setMock(0);
// serviceCreateVo.setMock(1);
// serviceCreateVo.setDebug(0);
// serviceCreateVo.setLabel("java");
// serviceCreateVo.setImage("qa-test/gu-bei:master-20210707165716636");
// DockerProject dockerProject = new DockerProject();
// dockerProject.setCpuRequest("200");
// dockerProject.setMenRequest("500");
// dockerProject.setMemRequest("500");
// dockerProject.setCpuLimit("2000");
// dockerProject.setMemLimit("1000");
// tkeService.createJavaDeployment(serviceCreateVo, dockerProject);
// tkeService.updateDeployment("fe", "mo-clotho", "qa-test/mo-clotho:master-20210707143546990");
// tkeService.createRedisService("fe", "redis");
// tkeService.createRedisDeployment("fe", "base", "redis", "redis", "qa-base/redis:3");
// tkeService.createJavaService("test1", "gu-bei", "NodePort", "java");
// tkeService.createUIAndNodeService("tob", "new-op-optimized-ui", "ClusterIP", "ui");
}
}
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