Commit 3a82f756 authored by 黎博's avatar 黎博

修复创建namespace时没有创建Secret的问题

parent b2dbc86a
...@@ -452,7 +452,10 @@ public class K8sController { ...@@ -452,7 +452,10 @@ public class K8sController {
@RequestParam String desc, @RequestParam String desc,
@RequestParam String owner, @RequestParam String owner,
@RequestParam String templateId) { @RequestParam String templateId) {
Namespace namespace = k8sService.createNewNamespace(name, desc, owner); boolean createNamespace = k8sService.createNewNamespace(name, desc, owner);
if (!createNamespace) {
return JsonResult.buildErrorStateResult("环境创建失败!", false);
}
QueryWrapper<EnvTemplateDetail> queryWrapper = new QueryWrapper<>(); QueryWrapper<EnvTemplateDetail> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("template_id", templateId); queryWrapper.eq("template_id", templateId);
List<EnvTemplateDetail> envTemplateDetailList = envTemplateDetailService.list(queryWrapper); List<EnvTemplateDetail> envTemplateDetailList = envTemplateDetailService.list(queryWrapper);
......
...@@ -2200,30 +2200,81 @@ public class K8sService { ...@@ -2200,30 +2200,81 @@ public class K8sService {
* @param owner * @param owner
* @return * @return
*/ */
public Namespace createNewNamespace(String name, String desc, String owner) { public boolean createNewNamespace(String name, String desc, String owner) {
Namespace namespace = new Namespace(); try {
Namespace namespace = new Namespace();
ObjectMeta objectMeta = new ObjectMeta();
Map<String, String> annotations = new HashMap<>();
annotations.put("description", desc);
annotations.put("owner", owner);
objectMeta.setAnnotations(annotations);
objectMeta.setName(name);
NamespaceSpec namespaceSpec = new NamespaceSpec();
List<String> finalizers = new ArrayList<>();
finalizers.add("kubernetes");
namespaceSpec.setFinalizers(finalizers);
NamespaceStatus namespaceStatus = new NamespaceStatus();
namespaceStatus.setPhase("Active");
namespace.setApiVersion("v1");
namespace.setKind("Namespace");
namespace.setMetadata(objectMeta);
namespace.setSpec(namespaceSpec);
namespace.setStatus(namespaceStatus);
log.info("创建新的环境: {}", namespace.toString());
kubernetesClient.namespaces().create(namespace);
createQcloudRegistryKeySecret(name);
createTencenthHubKeySecret(name);
} catch (Exception e) {
e.printStackTrace();
return false;
}
return true;
}
public Secret createQcloudRegistryKeySecret(String namespace) {
Secret secret = new Secret();
ObjectMeta objectMeta = new ObjectMeta(); ObjectMeta objectMeta = new ObjectMeta();
Map<String, String> annotations = new HashMap<>(); Map<String, String> labels = new HashMap<>();
annotations.put("description", desc); labels.put("qcloud-app", "qcloudregistrykey");
annotations.put("owner", owner); objectMeta.setLabels(labels);
objectMeta.setAnnotations(annotations); objectMeta.setName("qcloudregistrykey");
objectMeta.setName(name); objectMeta.setNamespace(namespace);
NamespaceSpec namespaceSpec = new NamespaceSpec(); Map<String, String> data = new HashMap<>();
List<String> finalizers = new ArrayList<>(); data.put(".dockercfg", "eyJjY3IuY2NzLnRlbmNlbnR5dW4uY29tIjp7InVzZXJuYW1lIjoiMTAwMDA4NjMyMjY5IiwicGFzc3dvcmQiOiJ7QXBwbGljYXRpb25Ub2tlbjo0MTM1NWY2OWQyY2U3ZWUyYmE2YjQxZmMxNzJlNzM0MH0iLCJlbWFpbCI6IjEwMDAwODYzMjI2OUBxcS5jb20iLCJhdXRoIjoiTVRBd01EQTROak15TWpZNU9udEJjSEJzYVdOaGRHbHZibFJ2YTJWdU9qUXhNelUxWmpZNVpESmpaVGRsWlRKaVlUWmlOREZtWXpFM01tVTNNelF3ZlE9PSJ9fQ==");
finalizers.add("kubernetes");
namespaceSpec.setFinalizers(finalizers); secret.setApiVersion("v1");
secret.setKind("Secret");
NamespaceStatus namespaceStatus = new NamespaceStatus(); secret.setType("kubernetes.io/dockercfg");
namespaceStatus.setPhase("Active"); secret.setMetadata(objectMeta);
secret.setData(data);
namespace.setApiVersion("v1"); log.info("{}环境,创建新的secret:qcloudregistrykey", namespace);
namespace.setKind("Namespace"); return kubernetesClient.secrets().inNamespace(namespace).create(secret);
namespace.setMetadata(objectMeta); }
namespace.setSpec(namespaceSpec);
namespace.setStatus(namespaceStatus); public Secret createTencenthHubKeySecret(String namespace) {
log.info("创建新的环境: {}", namespace.toString()); Secret secret = new Secret();
return kubernetesClient.namespaces().create(namespace);
ObjectMeta objectMeta = new ObjectMeta();
Map<String, String> labels = new HashMap<>();
labels.put("qcloud-app", "tencenthubkey");
objectMeta.setLabels(labels);
objectMeta.setName("tencenthubkey");
objectMeta.setNamespace(namespace);
Map<String, String> data = new HashMap<>();
data.put(".dockercfg", "eyJodWIudGVuY2VudHl1bi5jb20iOnsidXNlcm5hbWUiOiIxMDAwMDg2MzIyNjkiLCJwYXNzd29yZCI6ImV5SmhiR2NpT2lKSVV6STFOaUlzSW5SNWNDSTZJa3BYVkNKOS5leUpsZUhBaU9qRTROell5T1RFME9EVXNJbXAwYVNJNklqVTVPVGRqTmpkaExUWmpaV1l0TkRGbE55MDVPRGsyTFdGaE16TTFPRGRpWW1ReE1TSXNJbWxoZENJNk1UVTJNRGt6TVRRNE5Td2libUptSWpveE5UWXdPVE14TkRnMUxDSnpkV0lpT2lJeE1EQXdNRGcyTXpJeU5qa2lmUS5ZWEl4TzBaWTg3QmNzSktLdW9lQ3gzYllLZ1RzMktNVElSeDd5dWVRdDZNIiwiZW1haWwiOiIxMDAwMDg2MzIyNjlAcXEuY29tIiwiYXV0aCI6Ik1UQXdNREE0TmpNeU1qWTVPbVY1U21oaVIyTnBUMmxLU1ZWNlNURk9hVWx6U1c1U05XTkRTVFpKYTNCWVZrTktPUzVsZVVwc1pVaEJhVTlxUlRST2VsbDVUMVJGTUU5RVZYTkpiWEF3WVZOSk5rbHFWVFZQVkdScVRtcGthRXhVV21wYVYxbDBUa1JHYkU1NU1EVlBSR3N5VEZkR2FFMTZUVEZQUkdScFdXMVJlRTFUU1hOSmJXeG9aRU5KTmsxVVZUSk5SR3Q2VFZSUk5FNVRkMmxpYlVwdFNXcHZlRTVVV1hkUFZFMTRUa1JuTVV4RFNucGtWMGxwVDJsSmVFMUVRWGROUkdjeVRYcEplVTVxYTJsbVVTNVpXRWw0VHpCYVdUZzNRbU56U2t0TGRXOWxRM2d6WWxsTFoxUnpNa3ROVkVsU2VEZDVkV1ZSZERaTiJ9fQ==");
secret.setApiVersion("v1");
secret.setKind("Secret");
secret.setType("kubernetes.io/dockercfg");
secret.setMetadata(objectMeta);
secret.setData(data);
log.info("{}环境,创建新的secret:qcloudregistrykey", namespace);
return kubernetesClient.secrets().inNamespace(namespace).create(secret);
} }
/** /**
...@@ -2257,13 +2308,14 @@ public class K8sService { ...@@ -2257,13 +2308,14 @@ public class K8sService {
} }
public static void main(String[] args) { public static void main(String[] args) {
// K8sService k8sService = new K8sService(); K8sService k8sService = new K8sService();
// k8sService.createNewNamespace("test6", "dev", "黎博"); k8sService.createNewNamespace("test6", "dev", "黎博");
// k8sService.podTest(); // k8sService.podTest();
// k8sService.getPodList("k8s"); // k8sService.getPodList("k8s");
// System.out.println(JSON.toJSONString(k8sService.getPodListNew("fe"))); // System.out.println(JSON.toJSONString(k8sService.getPodListNew("fe")));
// if (!k8sService.queryIfServiceExistByName("fe", "lxq-ui")) { // if (!k8sService.queryIfServiceExistByName("fe", "lxq-ui")) {
// k8sService.createUIAndNodeService("fe", "lxq-ui", "ui", "ui"); // k8sService.createUIAndNodeService("fe", "lxq-ui", "ui", "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