基于 GitLab CI 的 kubectl 镜像配置
![](https://static001.geekbang.org/infoq/f2/f28b4693744d61bd12b37f8551b41c30.jpeg?x-oss-process=image%2Fresize%2Cp_80%2Fauto-orient%2C1)
上图介绍 GitLab Runner 使用 docker in docker 模式启动 kubectl 镜像连接 k8s 的流程。
其中主要关注三点:
官方镜像(bitnami/kubectl)中的用户权限不够,在读取配置文件时报权限错误。所以要重写一下官方的 dockerfile,默认使用 root 权限运行镜像。
![](https://static001.geekbang.org/infoq/2b/2ba657ca1a564e875896326c86280f3c.png)
kubectl 的配置文件,是存放在宿主机的目录,然后先挂载到 GitLab Runner 的镜像,再由 GitLab Runner 启动 kubectl 镜像时,将配置文件复制到 kubectl 镜像中,使 kubectl 能正常读取配置文件。
kubectl 默认读取配置文件的环境变量是:$KUBECONFIG,我们需要在项目的 CICD 环境变量中,将该变量的值设置为 kubectl 镜像中存放配置文件的位置。
版权声明: 本文为 InfoQ 作者【白粥】的原创文章。
原文链接:【http://xie.infoq.cn/article/4461326e160d496de168bf87a】。文章转载请联系作者。
评论