使用gitlab的CI / CD(在线)到kubernetes集群(动态)

时间:2018-08-23 05:22:31

标签: kubernetes gitlab gitlab-ci kubectl kubernetes-helm

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

1 个答案:

答案 0 :(得分:2)

所有较新的k8版本都启用了rbac,因此令牌运行程序最终将要使用的令牌绑定功能,否则您将无法在令牌的命名空间之外进行部署

1)如果您使用具有持久状态的运行器(例如ec2实例),则可以复制〜/ .kube / config中的工作kubeconfig

2)您可以将运行程序部署到kubernetes中。这很简单,他们有一个跑步者的舵图。您需要将奔跑者部署到的服务帐户进行集群绑定,而Chart不能为您完成

3)如果您正在使用他们的跑步者,则可以将base64 kubeconfig转换为CI变量并将其创建为之前脚本

4)以gitlab方式集成kubernetes(在UI上),然后gitlab将kubeconfig注入具有环境部分的作业中。这就是我正在做的事情,集成有点粗糙,但是如果您想进行功能分支沙箱部署,可以在合并后有一个拆卸阶段的方法,所以这很好,但是我跳过了它们的附加按钮,例如掌舵和进入,自己动手做,因为您不必调整任何选项

选项1以外的其他内容;然后,您可以使用helm或kubectl映像进行部署作业