Jenkins使用Rancher Kubernetes集群部署项目
Rancher目前是企业级Kubernetes集群管理中比较好的工具,通过Rancher搭建好Kubernetes集群后怎么实现项目的自动部署呢,虽然Rancher提供了持续集成能力,但失败概率很高同时工具链都不是太成熟,一般持续集成我们还是推荐Jenkins做。
首先需要安装Jenkins的Kubernetes CLI Plugin 插件,他依赖Kubernetes plugin 同时对其进行了拓展。

其次是需要在Jenkins的宿主机上安装kubectl ,让我们可以通过命令远程操作Kubernetes,根据Jenkins安装方式不同选择相应安装,由于我们是基于Docker安装,所以我们对官方镜像进行了二次打包,方便我们使用。下面是我们使用的Dockerfile.
FROM jenkins:latest # 使用root用户 USER root # 替换阿里云软件源 RUN echo "deb http://mirrors.aliyun.com/debian/ stretch main non-free contrib\n\ deb-src http://mirrors.aliyun.com/debian/ stretch main non-free contrib\n\ deb http://mirrors.aliyun.com/debian-security stretch/updates main\n\ deb-src http://mirrors.aliyun.com/debian-security stretch/updates main\n\ deb http://mirrors.aliyun.com/debian/ stretch-updates main non-free contrib\n\ deb-src http://mirrors.aliyun.com/debian/ stretch-updates main non-free contrib\n\ deb http://mirrors.aliyun.com/debian/ stretch-backports main non-free contrib\n\ deb-src http://mirrors.aliyun.com/debian/ stretch-backports main non-free contrib\n\ deb http://deb.debian.org/debian stretch main\n\ deb http://security.debian.org/debian-security stretch/updates main\n\ deb http://deb.debian.org/debian stretch-updates main" > /etc/apt/sources.list # 安装make(NodeJS要用) RUN apt-get update RUN apt-get install -y make gcc g++ # 安装kubernetes 阿里源 RUN apt-get install -y apt-transport-https RUN curl -O https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg RUN apt-key add apt-key.gpg RUN echo "deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main" > /etc/apt/sources.list.d/kubernetes.list # 安装kubectl RUN apt-get update RUN apt-get install -y kubectl # 切换回原用户 USER jenkins
当上述前置工作做好之后,我们就可以去Rancher找到我们需要部署的Kubernetes集群获取相应远程操作URL和Token信息,同时Rancher的权限是和用户绑定的,我们建议单独创建用户,同时登录改用户去获取Kubernetes配置信息。


接下来就可以通过Jenkins远程部署Kubernetes项目了,随意创建一个项目,在项目的构建环境中就可以加入kubectl环境,然后具体构建中就可以通过shell操作Kubernetes集群!
