通过 jenkins 在 GitLab 中为每个 Branch/Pull 请求动态创建 K8s (AKS) 命名空间
Dynamically Creating K8s (AKS) Namespaces for Every Branch/Pull Request in GitLab via jenkins
我们有 Azure Kubernetes + Jenkins + GitLab 的环境。
在 GitLab 上合并请求后使用现有设置,在 Jenkins 中触发构建并且 pods 部署在 Azure K8s (AKS) 上。现在我们需要为每个分支测试所有拉取请求和 uris 的动态命名空间。稍后一旦合并,我们必须删除那些动态名称空间。
您能否指导我进行设置或方法来实现这一目标。
kubectl 是您的不二之选。您只需要创建一个具有唯一哈希的命名空间 and/or 部署(您可以从 PR 的 git 提交哈希中提取):
kubectl create namespace NAMESPACE_NAME_COMMIT_HASH
我敢肯定,您只需生成名称中带有唯一提交哈希的部署+服务+入口,然后在管道末尾删除它们,就可以用一个测试命名空间满足您的所有需求。 testing 命名空间中不会发生冲突,除非你的 pods 不启动它们之间的某种命名空间内部通信,例如聚类等
我们有 Azure Kubernetes + Jenkins + GitLab 的环境。 在 GitLab 上合并请求后使用现有设置,在 Jenkins 中触发构建并且 pods 部署在 Azure K8s (AKS) 上。现在我们需要为每个分支测试所有拉取请求和 uris 的动态命名空间。稍后一旦合并,我们必须删除那些动态名称空间。 您能否指导我进行设置或方法来实现这一目标。
kubectl 是您的不二之选。您只需要创建一个具有唯一哈希的命名空间 and/or 部署(您可以从 PR 的 git 提交哈希中提取):
kubectl create namespace NAMESPACE_NAME_COMMIT_HASH
我敢肯定,您只需生成名称中带有唯一提交哈希的部署+服务+入口,然后在管道末尾删除它们,就可以用一个测试命名空间满足您的所有需求。 testing 命名空间中不会发生冲突,除非你的 pods 不启动它们之间的某种命名空间内部通信,例如聚类等