我已经在gitlab中使用kismatic设置了k8s集群,并创建了CI/CD管道。K8s集群位于aws ec2单实例中。那么如何通过k8s集群+ helm连接gitlab来部署镜像呢?
发布于 2018-08-23 09:33:09
所有较新版本的k8都启用了基于角色的访问控制,因此令牌运行器最终将使用集群绑定,否则您将无法在令牌的命名空间之外进行部署
1)如果您使用具有持久状态的运行器,例如ec2实例,那么只需复制~/..kube/config中的工作kubeconfig即可
2)您可以在kubernetes中部署一个runner。这很简单,他们有一个跑步者的舵表。您需要将runner部署到的服务帐户进行群集绑定,chart不会为您执行此操作
3)如果您正在使用它们的运行器,您可以将kubeconfig base64到一个CI变量中,并将该文件创建为一个before脚本
4)以gitlab的方式集成kubernetes (在UI上),然后gitlab会将kubeconfig注入到有环境部分的作业中。这就是我正在做的,集成有点粗糙,但是如果你想要有一个功能分支沙箱部署,有一种方法可以在合并后有一个阶段拆除,所以这是非常好的,但我会跳过他们的附加按钮,如helm和ingress,而是我自己做,因为你不需要调整任何选项
不同于选项1;然后将helm或kubectl映像用于部署作业
https://stackoverflow.com/questions/51978831
复制相似问题