当前位置: 首页 > docker, 云计算 > 正文

kubernetes Jenkins gitlab搭建CI/CD环境–(一)

【摘要】本文将介绍如何在 kubernetes 上安装 Jenkins 和 gitlab 的持续集成(CI)和持续部署(CD)环境,最终将各个环节打通,并配合测试样例进行演示。也借此文记录下自己经历过的各种坑。本来想在一篇文章内分享完,鉴于篇幅过长,接下来会整理分成三篇进行讲述。

本文重点是在Jenkins的整合使用上,K8S集群的搭建不做详细介绍,各位可以参考网上其他文章,这里只是把基本环境介绍一下:
1. 所需环境

  • 虚拟机若干作为k8s的node
  • OS:CentOS Linux release 7.4.1708 (Core)
  • Docker: docker-ce-18.04
  • Kubernets: v1.10.1
  • Calico: v3.1
  • Etcd: 3.2.18
  • GlusterFS: 3.12.8
  • Docker-harbor:v1.4.0

其他所需搭建的环境:

  • KubeDNS(Kubernetes的内部DNS)
  • Ingress(对外提供访问的服务)
  • HAproxy(Master高可用,另外最为方向代理指向Ingress,提供服务的入口)

2. 搭建步骤
2.1 Kubernetes集群环境如下:

集群的基本情况:
Kubernetes Dashboard

2.2 Etcd跟三个Master节点共用

*** 注意ETCDCTL_API的版本,v2和v3的输出结果不太一样 ***

2.3 搭建GlusterFS,并且创建storageclass
查看 GlusterFS 情况

输出结果如下

2.4 在kubernetes上创建StorageClass,用来动态创建 persistentvolumes 和 persistentvolumeclaims。

Kubernetes环境搭建中需要注意的几点:
(1)Docker 默认存放目录 /var/lib/docker,使用xfs分区,并且配置ftype=1
mkfs.xfs -n ftype=1 -f /dev/sda3
(2)node节点禁用swap
(3)glusterfs的时候使用额外裸盘,比如sdb
(4)Etcd启动的时候要三个节点一块启动,要不会有节点一直在傻等其他节点就绪。
(5)由于有些必须的docker镜像实在gcr上,国内无法访问,我这边是通过一台可以访问gcr的机器将镜像pull下来,save并传回自己的harbor源中,最后将镜像load进来供内部使用
(6)注意Ingress,HA-proxy的配置

下面是我导入到私有harbor镜像源中的一些gcr镜像:

关于Kubernetes集群和必须的一些环境先介绍到这,接下来会注重讲一下Jenkins的创建,slave及pipeline的使用情况,欢迎持续关注哦!

本文固定链接: https://www.sudops.com/kubernetes-jenkins-gitlab-install-ci-cd-env.html | 运维·速度

该日志由 Fisher 于2018年05月24日发表在 docker, 云计算 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: kubernetes Jenkins gitlab搭建CI/CD环境–(一) | 运维·速度
关键字: , , , , ,

kubernetes Jenkins gitlab搭建CI/CD环境–(一):等您坐沙发呢!

发表评论


Time limit is exhausted. Please reload the CAPTCHA.

快捷键:Ctrl+Enter