Jenkins X 是基于Kubernetes的持续集成、持续交付平台。
对Jenkins X这个新物种一直充满好奇,一直有去尝试去体验的想法。
要开启体验之路,首先当然需要安装环境。
官方安装中文文档指南:https://jenkins-x.io/zh/getting-started/
在踩过几个坑之后,Jenkins X终于安装成功,当然这仅仅是个开始。
鉴于已经有了一个 Kubernetes 集群,于是选择在已存在的 Kubernetes 集群上安装 Jenkins X。
虽然安装之前看了官方文档,但是安装过程也并不是一帆风顺,时而会有海浪袭来。
此文主要简要说明Jenkins X安装过程遇到的几个问题。
问题1:安装jx耽误了时间
使用的macOS,最开始尝试使用brew安装jx,因为机器没有安装brew,安装brew花了一些时间。 个人觉得通过手动下载二进制安装更简单。
问题2:在已存在的Kubernetes集群上安装Jenkins X要事先配置kubeconfig
在已存在的Kubernetes集群上安装Jenkins X要事先配置kubeconfig,这样kubectl才能连接到已存在的Kubernetes集群。
kubeconfig配置文件默认为: ~/.kube/config
问题3: pod has unbound PersistentVolumeClaims
查看pvc列表,并通过kubectl edit具体的pvc,根据其requests storage创建对应的pv,pvc和pv绑定后,其状态为Bound。
问题4:gcr.io镜像等无法下载
针对这个问题,通过将Dockerfile(Dockfile中相应gcr.io镜像为基础镜像)放到Github仓库,然后在阿里云容器镜像仓库创建对应镜像仓库与Github代码仓库关联,通过构建Dockfile产生镜像,接着在Kubernetes节点,从阿里云镜像仓库拉取对应镜像,并将其重命名成其原始名称。
问题5:jenkins-x-mongodb对应Pod报错
报错内容: Error executing 'postInstallation': EACCES: permission denied, mkdir '/bitnami/mongodb/data'
通过搜索引擎,在Github上找到相应issue,修改了其deployment的securityContext,通过root用户运行相应Pod。
在解决了一个个问题后,终于,控制台日志显示Jenkins X 安装成功:
访问Jenkins Url,亲切的Jenkins登录页面呈现在眼前: