Explorar o código

chore: 后端k8s配置yaml

370774330@qq.com %!s(int64=5) %!d(string=hai) anos
pai
achega
91815d3254

+ 4 - 3
core/src/main/java/seecoder/devcloud/core/pipeline/handler/K8sNamespaceHandler.java

@@ -39,9 +39,10 @@ public class K8sNamespaceHandler extends AbstractHandler {
         try {
             namespace = namespaceApi.create(namespace);
             log.info("Namespace创建成功, {}", namespace);
-            //为命名空间配置私有镜像仓库密钥,使得此命名空间可以访问镜像仓库来部署容器
-            ApplicationProperties.Registry registry = context.getApplicationProperties().getRegistry();
-            secretApi.createPrivateRegistrySecret(context.getGroupName(), registry.getHost(), registry.getUsername(), registry.getPassword());
+            // todo namespace 镜像secret是否改成从service account注入,待调查
+//            //为命名空间配置私有镜像仓库密钥,使得此命名空间可以访问镜像仓库来部署容器
+//            ApplicationProperties.Registry registry = context.getApplicationProperties().getRegistry();
+//            secretApi.createPrivateRegistrySecret(context.getGroupName(), registry.getHost(), registry.getUsername(), registry.getPassword());
         } catch (K8sApiException e){
             if (e.getCode() == K8sApiException.ALREADY_EXIST){
                 log.info("Namespace已经存在, 无需新建");

+ 36 - 0
web/src/main/resources/devcloud-k8s-init

@@ -0,0 +1,36 @@
+apiVersion: v1
+kind: Namespace
+metadata:
+  name: devcloud
+---
+# todo 学生镜像secret创建
+---
+# 用来帮助学生部署项目的权限角色
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRole
+metadata:
+  name: devcloud-cr
+rules:
+  - apiGroups: [""]
+    resources: ["pods","secrets","deployments","ingresses","services","namespaces"]
+    verbs: ["create","update","patch","get", "watch", "list","delete"]
+  # todo 学生镜像 imagepullsecret
+---
+# 权限角色绑定在devcloud下默认的service account ”default“ 下
+apiVersion: rbac.authorization.k8s.io/v1
+# This cluster role binding allows anyone in the "manager" group to read secrets in any namespace.
+kind: ClusterRoleBinding
+metadata:
+  name: devcloud-crb
+subjects:
+  - kind: ServiceAccount
+    name: default # Name is case sensitive
+    namespace: devcloud
+    apiGroup: ""
+roleRef:
+  kind: ClusterRole
+  name: devcloud-cr
+  apiGroup: rbac.authorization.k8s.io
+---
+# todo 数据库的配置,要询问学长持久卷相关
+