CentOS系统下Rancher单机部署全流程指南
2025.09.12 11:09浏览量:5简介:本文详细介绍在CentOS系统上实现Rancher单机部署的完整流程,涵盖环境准备、安装配置、集群管理、故障排查等关键环节,提供可复用的技术方案和优化建议。
CentOS系统下Rancher单机部署全流程指南
一、部署环境与前提条件
1.1 系统要求
CentOS 7.x/8.x系统需满足以下条件:
- 最小4GB内存(生产环境建议8GB+)
- 双核CPU(四核以上更佳)
- 40GB可用磁盘空间(SSD性能更优)
- 稳定的网络连接(建议千兆网卡)
1.2 软件依赖
需预先安装基础工具包:
sudo yum install -y epel-releasesudo yum install -y curl wget git jq conntrack socat ebtables ipset
1.3 Docker环境配置
Rancher依赖Docker运行,推荐使用静态二进制安装:
# 卸载旧版本(如有)sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine# 安装依赖sudo yum install -y yum-utils device-mapper-persistent-data lvm2# 添加Docker仓库sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo# 安装特定版本(示例为20.10.x)sudo yum install -y docker-ce-20.10.21 docker-ce-cli-20.10.21 containerd.io# 配置镜像加速(可选)sudo mkdir -p /etc/dockercat <<EOF | sudo tee /etc/docker/daemon.json{"registry-mirrors": ["https://<your-mirror>.mirror.aliyuncs.com"]}EOF# 启动服务sudo systemctl enable --now docker
二、Rancher单机部署实施
2.1 容器化部署方案
推荐使用稳定的Rancher版本(如v2.7.x):
sudo docker run -d --restart=unless-stopped \-p 80:80 -p 443:443 \--privileged \-v /var/lib/rancher:/var/lib/rancher \-v /var/log/auditlog:/var/log/auditlog \rancher/rancher:v2.7.4
关键参数说明:
--privileged:允许访问主机设备(用于K3s节点)- 持久化卷:确保数据在容器重启后保留
- 端口映射:80/443用于Web访问
2.2 Kubernetes模式部署(可选)
对于需要集成K8s的场景:
# 安装kubectlcurl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"chmod +x kubectl && sudo mv kubectl /usr/local/bin/# 启动Rancher的K3s嵌入模式sudo docker run -d --name rancher-server \--restart=unless-stopped \-p 80:80 -p 443:443 \-v /var/lib/rancher:/var/lib/rancher \rancher/rancher:v2.7.4 \--no-cacerts \--k8s-mode embedded
三、部署后验证与配置
3.1 访问控制台
通过浏览器访问https://<服务器IP>,首次访问需设置管理员密码。验证页面应显示:
- 版本号正确(v2.7.4)
- 集群状态为Active
- 无证书错误(自签名证书需手动信任)
3.2 基础配置检查
执行健康检查:
# 检查容器状态sudo docker ps | grep rancher# 查看日志sudo docker logs -f rancher-server# 验证API访问curl -k https://localhost/ping# 应返回"pong"
3.3 持久化存储验证
检查数据目录:
ls -lh /var/lib/rancher/# 应包含以下目录:# etcd/ k3s/ management-state/
四、常见问题解决方案
4.1 端口冲突处理
若80/443被占用:
# 查找占用进程sudo netstat -tulnp | grep ':80\|:443'# 修改Rancher启动参数sudo docker stop rancher-serversudo docker run -d --name rancher-server \-p 8080:80 -p 8443:443 \ # 修改映射端口...(其他参数不变)
4.2 证书配置问题
自签名证书处理:
# 生成自签名证书(示例)openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes# 启动时指定证书sudo docker run -d --name rancher-server \-p 80:80 -p 443:443 \-v $(pwd)/cert.pem:/etc/rancher/ssl/cert.pem \-v $(pwd)/key.pem:/etc/rancher/ssl/key.pem \rancher/rancher:v2.7.4 \--no-cacerts
4.3 性能优化建议
- 内存限制:对于4GB内存主机,添加
-e CATTLE_SYSTEM_DEFAULT_REGISTRY=registry.example.com减少镜像拉取 - 日志轮转:配置
/etc/logrotate.d/rancher防止日志文件过大 - 备份策略:定期备份
/var/lib/rancher目录
五、生产环境增强配置
5.1 高可用部署(单机转多节点)
- 配置外部数据库(MySQL/PostgreSQL)
- 修改启动参数:
--db-host <db-ip> \--db-port 3306 \--db-user cattle \--db-pass <password> \--db-name cattle
5.2 安全加固措施
- 启用TLS 1.2+:在
daemon.json中添加"tls-min-version": "VersionTLS12" - 限制管理访问:通过Nginx反向代理添加IP白名单
- 定期更新:订阅Rancher安全公告
六、卸载与清理流程
6.1 完整卸载步骤
# 停止并删除容器sudo docker stop rancher-serversudo docker rm rancher-server# 清理数据(谨慎操作)sudo rm -rf /var/lib/rancher/# 卸载Dockersudo yum remove -y docker-ce docker-ce-cli containerd.iosudo rm -rf /var/lib/docker
6.2 残留文件检查
# 检查残留进程ps aux | grep rancher# 检查网络命名空间ip netns list
七、最佳实践总结
- 版本选择:优先使用LTS版本(如v2.6.x/v2.7.x)
- 资源监控:部署Prometheus+Grafana监控Rancher组件
- 备份策略:每日自动备份
/var/lib/rancher/etcd目录 - 升级路径:遵循官方升级指南,避免跨大版本升级
- 日志分析:配置ELK栈集中管理Rancher日志
通过以上完整流程,可在CentOS系统上实现稳定可靠的Rancher单机部署,为后续的容器编排和集群管理奠定坚实基础。实际部署时建议先在测试环境验证所有步骤,再迁移到生产环境。

发表评论
登录后可评论,请前往 登录 或 注册