CentOS系统下Rancher单机部署全流程指南
2025.09.12 11:09浏览量:0简介:本文详细介绍在CentOS系统上实现Rancher单机部署的完整流程,涵盖环境准备、安装配置、集群管理、故障排查等关键环节,提供可复用的技术方案和优化建议。
CentOS系统下Rancher单机部署全流程指南
一、部署环境与前提条件
1.1 系统要求
CentOS 7.x/8.x系统需满足以下条件:
- 最小4GB内存(生产环境建议8GB+)
- 双核CPU(四核以上更佳)
- 40GB可用磁盘空间(SSD性能更优)
- 稳定的网络连接(建议千兆网卡)
1.2 软件依赖
需预先安装基础工具包:
sudo yum install -y epel-release
sudo 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/docker
cat <<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的场景:
# 安装kubectl
curl -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-server
sudo 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-server
sudo docker rm rancher-server
# 清理数据(谨慎操作)
sudo rm -rf /var/lib/rancher/
# 卸载Docker
sudo yum remove -y docker-ce docker-ce-cli containerd.io
sudo 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单机部署,为后续的容器编排和集群管理奠定坚实基础。实际部署时建议先在测试环境验证所有步骤,再迁移到生产环境。
发表评论
登录后可评论,请前往 登录 或 注册