跳至主要内容

GitLab进阶篇之 CI/CD、Kubernetes 配合篇


---------------------------

前阵子,逛Youtube的时候,看到一条 Gitlab CI/CD DEMO,我就顺手点击进去看了下。
呦!!Gitlab多了自动部署的Kubernetes模板.

看着Gitlab 的Demo Video 在CI/CD 如此行云流水,觉得大赞!!就立即动手开始搭环境了。。。
结果这一搭,就真的是入大坑了!!!
kube我第一次接触,真的是入坑好多天,现在都还没爬出来。。你没看错,是真的没爬出来。。。


万事开头难~ 下面的需求列表牵扯的资源看起来比较简单,但是搭建过程的Debug才是难点。。。
不过不要担心,这里会给出关键路径,保证不会让你迷路。。
应该不会迷路。。
不会迷路。。


--------------我是正文吗?--------------
阅读前需要读者有以下技能和硬件资源

* VMWARE EXSI搭建或者 VBOX 虚拟机搭建技能
* Linux任意发行版本的操作技能
* 熟悉Linux系统(如不熟悉,请先恶补 
 《Linux SERVER HACK 》 O'Reilly出版)
* 能让EXSI下的虚拟机流畅的上 Google平台
 (最好路由器上实现全局顺畅上Google,不多解释,你懂的)
* 12G内存和支持VT-x的Intel处理器PC
 (用来做虚拟机)(啥?你是AMD粉?我也是呀!)


导航:

* 最低条件列表(网络,硬件,系统)
* 安装kubernetes 、Gitlab CI multi runner、Gitlab
* 小结

------------ 正文了! ------------

EXSI and Ubuntu 17.04

我找了台服务器,安装了EXSI 6.5, 在上面安装了2个 Ubuntu 17.04 server 64bit。一路默认安装,
在安装Packages的时候选择了ssh和sql 包。1个系统给了4G内存,用来安装Gitlab服务, 1个给了6G内存,用来安装 Kubernetes。

路标1: 需要在每个虚拟机的CPU选项上设置 ”硬件虚拟化” , kube需求此功能。
路标2: VBOX 也OK(如图所示)
路标3: 安装完系统后做快照!安装完系统后做快照!安装完系统后做快照!
路标4: Gitlab最好给4G内存,Kube推荐给6G内存。 时间是宝贵的,现阶段没必要调优节省内存。
路标5: 必须流畅上Google,否则你不用实操了,找国内kube镜像的事相信大家没这闲工夫。。

K8s(我把Kubernetes简称了,以下都称K8s)平台:
参考以下文章,在其中6G内存系统上,需要先安装docker-ce和kubectl以及 kubeadm。过程简单不叙述。
https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm/

我推荐使用weave来作为Pod network,因为flannel 始终无法让K8s的各个服务正常通讯,翻阅google和经过1天的debug,我放弃了。。。 

过程如下:
su  #切换到root (虽然百般不乐意切root操作,看在实验性质的份上忍了)
kubeadm reset  #先reset一遍??第一次搞无所谓
kubeadm init --apiserver-advertise-address=192.168.199.114 # 这里的IP替换成自己IP

export KUBECONFIG=/etc/kubernetes/admin.conf
mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config
# 以上4行是 init 完成后 kubeadm推荐做的操作,也就是说用普通账号运行服务

kubectl get pods --all-namespaces -o wide #非必要操作,只是确认下服务安装的怎么样了。如图:
看STATUS栏,

kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')" 
$ kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml

把本节点添加到管理:
kubectl taint nodes --all node-role.kubernetes.io/master-


kubectl create -f kubernetes-dashboard.yaml (从 github 拿 yaml 文件)
kubectl proxy --address 192.168.199.114 --port=9090 --accept-hosts='^*$'



输入 http://192.168.199.114:9090/ui


未完,待续

评论

此博客中的热门博文

最强百元Wi-Fi 路由-----斐讯K2P

 最强百元级无线路由到来--斐讯K2P 先来王炸: 1 K2P闲鱼全新收购价在 100-140 2 K2P是全千兆有线,全千兆有线,全千兆有线!不要问为啥说三遍 3 SoC 是MT7621A 双核四线程 880Mhz 4 Wi-Fi 是单芯片MT7615DN,支持MU-MIMO特性,支持Beamforming 5 外置PA和LNA提升信号覆盖范围 6 众多第三方固件,实用性爆棚 以上六点,咱们一条一条解说。 没有对比,就没有伤害: 1 售价:小米3G,同样硬件的小米3G售价249。号称性价比、发烧的硬件都比这个贵100,还怎么玩? 2 看TP-LINK、FAST、水星的同售价产品,100多元的没千兆,有千兆的都200元起。百兆网口的东西我现在看都不看! 3 说实话,有比MT7621A 880Mhz 1004K核心更好的MIPS32 处理器,就是螃蟹家RTL8198C 1074Kc(8198C另外还多一颗500Mhz用来加速存储的核), 但是很难买到,比如这三款:ASUS RP-AC68U 、D-Link DIR-879、Edge-core ecw3350 。 PS:关于螃蟹 RTL8198C的故事有好几个段子,都是和原厂闲聊得来的...以后有时间再说,今天主角是MTK。 wiki数据: 1074K single core delivers a performance of 1.93 DMIPS/MHz and 3.49 Coremarks/MHz.  1004K single core delivers a performance of 1.6 DMIPS/MHz and 3.05 Coremarks/MHz.  24K core delivers a performance of 1.6 DMIPS/MHz and 3.1 Coremarks/MHz. 虽然只看 DMIPS和 Coremarks/MHz,觉得24Kc和1004Kc差不多,但是区别还是很大的,比如L2 Cache 24Kc就没有, 多线程多核也没有,而且7621A主频提升到了 880Mhz。 这些都是很大的进步。并非简单的胶水双核 :D...

用Gitlab搭建 Docker Hub Registry(不踩坑指南)

Docker大家基本都用过, Registry 就是服务,简单理解就是能让你 Docker pull 和push Image的地方。 Gitlab的 Registry 是自动化部署一个环节。计划从Gitlab的自动化集成、自动化部署,以及如何配合Kubernets(谷歌的平台简称K8s),这些属于Devops的应用。 之前写过一篇文章,感慨现在的云服务实在是太方便了:快速部署的目的是让创业公司专注自己的业务,而无需浪费人力去折腾基础服务. (原文连接:  后知后觉,云服务太方便了!  ) 那么为何不使用 Docker Hub 服务?反而要自己搭建呢? 几个原因: *  Docker Hub 访问实在是太慢,甚至是访问不了.  *  使用 Docker Hub必须开源自己的仓库, 很多用户比较敏感.(当然可以花钱购买私有仓库进行扩容) *  自己机器上数据和云服务数据同步,保证数据安全 --------------------------------------------------------- Gitlab 功能太多,我也是使用 CI 、CD 配合 Kubernetes(k8s)时候偶然发现竟然还集成了Docker Registry 的功能...这下爽了,终于不用看墙的脸色决定网速了~我自己的 Docker Hub,想怎么push、pull 都行~ --------------------------------------------------------- 我们这篇主要讲怎么 避免踩坑 , 具体服务怎么搭建回头找个机会,再整理下详细步骤. 我的环境是一台 DELL 16G 的1U 服务器,在 EXSI 6.5 上给 Ubuntu17.04 server 分配了4 Core 以及 6G内存.  只跑 Gitlab 基础 +   Registry 的服务, 和这个配套的 K8s 、Gitlab-runner 等服务在另外一个系统上跑(K8s 、CI CD、 Gitlab-runner 如何搭建以及应用,会以后讲). 以下注意几点: Registry 不支持自签(Self-...

什么路由值得买!低价最高性能篇!

标题都说长了才能吸引人,但是实在是长了会显得啰嗦,所以标题写短点吧! 另外觉得啰嗦直接拉到屏幕底端看结论。 截至2017年5月08日,高端路由器最值得买的是K3,斐讯K3!对,你没看错,斐讯K3.(我可没让你们1999参加什么0元购,对于那个价格我就呵呵了) BRCM 4709C  1.4G双核 ARM  4 * 4的 MU-MIMO BRCM 4366 既然是无线路由,无线的特性是最重要的,MU-MIMO是特点。 市场上大部分802.11AC的产品都是 SU-MIMO技术。 SU-MIMO和 MU-MIMO区别: 这个视频就是有MU-MIMO加持的会更流畅。 没有对比就没有伤害! 咱们挑个华硕 RT-AC88U。 K3 和 华硕  RT-AC88U硬件参数基本一致! 区别:是华硕8个千兆LAN,斐讯3个千兆LAN。 华硕RT-AC88U 售价最便宜时候1499, 斐讯K3 是1999坑爹0元购。 但是这不是我要说的!我要说的是 请去某鱼二手物品交易市场看! 380-420元可以买到全新的 K3!带质保!!!  总结下: 市场上现在400元以下买不到 4*4(就是4根天线) 的 MU-MIMO方案。 未来应该会有第三方固件加持!比如 对Merlin 做二次开发的 Koolshare团队。毕竟 ASUS 88U和这个差不多硬件配置。(存猜测,不准勿扰 :) 不适合人群: 二手东不能接受的。 有强第三方固件需求的。 家里面积过大且承重墙较多,想用这个设备增强信号的。 多说一点,4*4  MU-MIMO现在500的价位只能买到小米, MTK方案。 这个 K3是 ARM双核 1.4G, 博通 BRCM4366! 最后上一个 K3 拆机图片: 我只能说! 我的 网件 R6400买早了啊!!  399入手还是亏了啊!!