介绍
通过ansible脚本+shell实现自动化部署k8s基础集群(v1.25.0)
部署结构
1. 通过二进制部署包镜像安装k8s集群、目录etcd节点只支持1-3个节点、最多三个etcd节点
2. 因k8s版本相对较新、需要升级内核来支持后台程序、当前版本只支持Cento7,内核版本(5.19.4-1.el7.elrepo.x86_64)
3. 采用k8s二进制安装,通过system进行管理,采用本地yum仓库,版本是:1.25.0
4. 部署节点安装docker的yum源是基于Centos7.5/7.6,版本是:19.03.14
5. 部署节点安装ansible时,使用离线安装,版本:2.9.27
操作步骤
环境准备
作用 IP地址 操作系统 配置 k8s-master01 192.168.1.13 CentOS7 最低配置2C2G ansible 192.168.1.140 CentOS7 最低配置1C1G node节点可以填写多个,根据实际情况确认,但是不能超出单master节点的限制 master节点至少是三个少一个都不是高可用版本 高可用部署时需要为keepalived提前确认好vip的信息备注
单独找一台机器用于部署ansible服务,升级内核时需要重启服务器 部署节点部署重启,否则会导致执行报错 但是需要确保机器资源充足,且相关的端口不会冲突(38081【yum】、38082【registry】) 相关的网络关系需要提前确认解压部署包
修改host文件
初始化环境
执行结果
安装docker服务安装ansible服务,修改ansible.cfg配置准备离线yum仓库挂载点是:部署包的下的yum目录准备离线registry仓库,相关挂载点是:/var/images/
安装k8s集群
登录部署机器上执行Run.sh脚本
执行结果如下:
登录master的节点
因本地虚拟机限制,目前使用单节点测试部署,一主一从的也测试可行高可用版本尚未测试,虚拟机测试电脑容易死机
部署包下载
链接: https://pan.baidu.com/s/1-_yDvPnE7Jt167S_9IzWzw?pwd=egwf
提取码: egwf
目前版本,后续会更新 初始化环境时,如果启动报错,出现…iptable…的字段这可以重新执行一次初始化即可正常启动 目前containerd的镜像仓库配置的是初始化的地址,如果需要使用k8s集群,则需要手动修改containerd的配置文件<自行百度添加>(后续优化总结
上述则是当前部署中可运行正常的服务执行Run.sh 输入init,则可以调试脚本,对应的启动文件,修改,则可以进行调试(playbook/tools/deploy_test.yaml)
原文链接:https://blog.csdn.net/qq_44246980/article/details/126712571