原创不易,请多多支持!对软件技术感兴趣的童鞋请关注我,后续技术分享更精彩。
容器编排从几年前群雄割据、各方乱战,到如今Google的k8s一统天下。能迅速力挽狂澜,已说明其技术实力。但k8s复杂的架构,不太友好的文档,确实让一些初学者望而却步。近期正好一直在学习k8s的东西,走了一些弯路。整理出来以备参考。
由于内容过多,本文将分多章介绍k8s集群构建过程,并发布demo到k8s集群,简单演示一个完整CI/CD的自动化过程。各章节内容如下:
一、k8s集群环境准备
二、rancher搭建k8s集群环境
三、Jenkins自动化构建示例到k8s集群
部署资源
centos7.7虚拟机3台,对应ip如下:
- 192.168.0.110- 192.168.0.111- 192.168.0.112
192.168.0.110 : rancher和jenkins部署机器。
192.168.0.111/192.168.0.112:k8s集群node节点。笔者机器资源所限,超过3台虚拟机,个人笔记本电脑将无法工作。使用者可根据具体情况增加虚拟机节点。
rancher安装
192.168.0.110虚拟节点上安装rancher工具。
rancher是一款开源、优秀的k8s集群管理工具,通过可视化的界面操作,屏蔽了k8s复杂的命令操作过程,让初学者无需了解k8s内部细节也能可以快速使用集群。
官方文档:https://rancher.com/docs/rancher/v2.x/en/
安装rancher:
sudo docker run -d --restart=unless-stopped -p 80:80 -p 443:443 -v /data/rancher_home/rancher:/var/lib/rancher -v /data/rancher_home/auditlog:/var/log/auditlog ancher/rancher
安装完成后,将以80端口启动服务。浏览器访问以下地址。
https://192.168.0.110/login
地址为https,需添加证书信任。打开界面选择语言,设置密码。登录应用。
点击右上角 添加集群 按钮,新增一个k8s集群。
选择 自定义存在的集群node 创建集群配置。
录入集群名称 k8s-demo,其他项保持默认设置,点击 下一步。
由于本文集群只有两个node节点,节点选择中的 节点角色 需要全部选择。
上图第2个文本框显示了节点加入集群的指令,点击右侧 复杂 按钮,复制相应命令。在对应的node节点执行复制指令。本文为192.168.0.111/192.168.0.112 虚拟机node节点。分别登陆2台机器,执行指令。
执行完成后,在rancher页面底部会显示 node注册成功的 信息提示。
点击 完成 按钮,完成k8s-demo的集群配置工作。
跳转集群列表页,列表中新增了一条刚添加的k8s-demo集群信息,状态为 准备中,耐心等待几分钟。rancher正在进行集群的初始化工作。
过程中请保证虚拟机网络畅通,如果出现的error提示是网络相关的,可重启下虚拟机试试,有些网络访问问题(虚拟机防火墙关闭前提下),本人就是通过重启解决,似乎rancher对api server请求失败,初始化重试这块做的不是很完善。
初始化完成,集群状态变为 可用 状态。
点击k8s-demo名称,查看集群资源使用情况页面。
到此,rancher初始化k8s集群完成。请关注我,后续将介绍Jenkins CI/CD 发布示例到k8s集群的过程。