CI/CD with gitlab (online) to kubernetes cluster (kismatic)



我已经使用 kismatic 设置了 k8s 集群,并在 gitlab 中创建了 CI/CD 管道。K8s 集群位于 AWS EC2 单实例中。那么如何将 gitlab 与 k8s 集群 + helm 连接以部署映像。

所有较新版本的 k8 都启用了 rbac,因此最终将使用的令牌运行器必须是集群绑定的,否则您将无法在令牌的命名空间之外部署

1( 如果您使用具有持久状态的运行器,例如 ec2 实例,那么您只需复制在 ~/.kube/config 中找到的工作 kubeconfig

2(您可以将运行器部署到 kubernetes 中。这很简单,他们有一个跑步者的掌舵图。您需要集群绑定运行器部署到的服务帐户,图表不会为您执行此操作

3(如果你使用的是他们的运行器,你可以将base64 kubeconfig base到一个CI变量中,并将文件创建为前面的脚本

4(以gitlab的方式集成Kubernetes(它在UI上(,然后gitlab会将kubeconfig注入到具有环境部分的作业中。这就是我正在做的,集成有点粗糙,但如果你想拥有功能分支沙箱部署,有一种方法可以在合并后有一个阶段来拆除,所以这很好,但是我会跳过他们的附加按钮,如 helm 和 ingress 并自己做,因为你无法调整任何选项

除了选项 1 之外;然后,将 helm 或 kubectl 映像用于部署作业

最新更新