azure-aks - 通过 jenkins 在 GitLab 中为每个分支/拉取请求动态创建 K8s (AKS) 命名空间
问题描述
我们有 Azure Kubernetes + Jenkins + GitLab 的环境。使用 GitLab 上的合并请求后的现有设置,在 Jenkins 中触发构建,并将 Pod 部署在 Azure K8s (AKS) 上。现在我们需要为每个分支测试所有拉取请求和 uri 的动态命名空间。稍后,一旦它被合并,我们必须删除那些动态命名空间。您能否通过设置或方法指导我实现这一目标。
解决方案
kubectl 是你要走的路。您只需要创建一个具有唯一哈希的命名空间和/或部署(您可以从 PR 的 git commit 哈希中提取):
kubectl create namespace NAMESPACE_NAME_COMMIT_HASH
我很确定您可以通过在名称中生成具有唯一提交哈希的部署+服务+入口并在管道末尾删除它们来使用单个测试命名空间来满足您的所有要求。测试命名空间中不会发生冲突,除非您的 pod 没有在它们之间发起某种命名空间内通信,例如集群等。
推荐阅读
- php - 刀片未在视图上显示消息
- assembly - 在寄存器之外传递参数
- javascript - 如何让我的 Phaser 游戏射出不止一支箭?
- logging - 我如何阻止所有 ssh 连接,除了来自 firewalld 中特定来源的连接,还记录被拒绝的 ssh 连接
- r - 由于临时目录,在 R 中绘制渲染错误
- reactjs - 无法到达用户数据字段,控制台说找不到未定义的用户
- java - 从没有网络服务器的远程机器读取文件
- ajax - ajax 调用后发布 http://localhost/DemoWebsite/wp-admin/custom_Settings.php 404 (Not Found)
- ios - iOS CoreBluetooth 指示特征读回执
- unity3d - 如何将我的动画与 Unity3d 中的变换相匹配?