logo

CentOS系统下Rancher单机部署全流程指南

作者:快去debug2025.09.12 11:09浏览量:0

简介:本文详细介绍在CentOS系统上实现Rancher单机部署的完整流程,涵盖环境准备、安装配置、集群管理、故障排查等关键环节,提供可复用的技术方案和优化建议。

CentOS系统下Rancher单机部署全流程指南

一、部署环境与前提条件

1.1 系统要求

CentOS 7.x/8.x系统需满足以下条件:

  • 最小4GB内存(生产环境建议8GB+)
  • 双核CPU(四核以上更佳)
  • 40GB可用磁盘空间(SSD性能更优)
  • 稳定的网络连接(建议千兆网卡)

1.2 软件依赖

需预先安装基础工具包:

  1. sudo yum install -y epel-release
  2. sudo yum install -y curl wget git jq conntrack socat ebtables ipset

1.3 Docker环境配置

Rancher依赖Docker运行,推荐使用静态二进制安装:

  1. # 卸载旧版本(如有)
  2. sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
  3. # 安装依赖
  4. sudo yum install -y yum-utils device-mapper-persistent-data lvm2
  5. # 添加Docker仓库
  6. sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  7. # 安装特定版本(示例为20.10.x)
  8. sudo yum install -y docker-ce-20.10.21 docker-ce-cli-20.10.21 containerd.io
  9. # 配置镜像加速(可选)
  10. sudo mkdir -p /etc/docker
  11. cat <<EOF | sudo tee /etc/docker/daemon.json
  12. {
  13. "registry-mirrors": ["https://<your-mirror>.mirror.aliyuncs.com"]
  14. }
  15. EOF
  16. # 启动服务
  17. sudo systemctl enable --now docker

二、Rancher单机部署实施

2.1 容器化部署方案

推荐使用稳定的Rancher版本(如v2.7.x):

  1. sudo docker run -d --restart=unless-stopped \
  2. -p 80:80 -p 443:443 \
  3. --privileged \
  4. -v /var/lib/rancher:/var/lib/rancher \
  5. -v /var/log/auditlog:/var/log/auditlog \
  6. rancher/rancher:v2.7.4

关键参数说明:

  • --privileged:允许访问主机设备(用于K3s节点)
  • 持久化卷:确保数据在容器重启后保留
  • 端口映射:80/443用于Web访问

2.2 Kubernetes模式部署(可选)

对于需要集成K8s的场景:

  1. # 安装kubectl
  2. curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
  3. chmod +x kubectl && sudo mv kubectl /usr/local/bin/
  4. # 启动Rancher的K3s嵌入模式
  5. sudo docker run -d --name rancher-server \
  6. --restart=unless-stopped \
  7. -p 80:80 -p 443:443 \
  8. -v /var/lib/rancher:/var/lib/rancher \
  9. rancher/rancher:v2.7.4 \
  10. --no-cacerts \
  11. --k8s-mode embedded

三、部署后验证与配置

3.1 访问控制台

通过浏览器访问https://<服务器IP>,首次访问需设置管理员密码。验证页面应显示:

  • 版本号正确(v2.7.4)
  • 集群状态为Active
  • 无证书错误(自签名证书需手动信任)

3.2 基础配置检查

执行健康检查:

  1. # 检查容器状态
  2. sudo docker ps | grep rancher
  3. # 查看日志
  4. sudo docker logs -f rancher-server
  5. # 验证API访问
  6. curl -k https://localhost/ping
  7. # 应返回"pong"

3.3 持久化存储验证

检查数据目录:

  1. ls -lh /var/lib/rancher/
  2. # 应包含以下目录:
  3. # etcd/ k3s/ management-state/

四、常见问题解决方案

4.1 端口冲突处理

若80/443被占用:

  1. # 查找占用进程
  2. sudo netstat -tulnp | grep ':80\|:443'
  3. # 修改Rancher启动参数
  4. sudo docker stop rancher-server
  5. sudo docker run -d --name rancher-server \
  6. -p 8080:80 -p 8443:443 \ # 修改映射端口
  7. ...(其他参数不变)

4.2 证书配置问题

自签名证书处理:

  1. # 生成自签名证书(示例)
  2. openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes
  3. # 启动时指定证书
  4. sudo docker run -d --name rancher-server \
  5. -p 80:80 -p 443:443 \
  6. -v $(pwd)/cert.pem:/etc/rancher/ssl/cert.pem \
  7. -v $(pwd)/key.pem:/etc/rancher/ssl/key.pem \
  8. rancher/rancher:v2.7.4 \
  9. --no-cacerts

4.3 性能优化建议

  • 内存限制:对于4GB内存主机,添加-e CATTLE_SYSTEM_DEFAULT_REGISTRY=registry.example.com减少镜像拉取
  • 日志轮转:配置/etc/logrotate.d/rancher防止日志文件过大
  • 备份策略:定期备份/var/lib/rancher目录

五、生产环境增强配置

5.1 高可用部署(单机转多节点)

  1. 配置外部数据库(MySQL/PostgreSQL
  2. 修改启动参数:
    1. --db-host <db-ip> \
    2. --db-port 3306 \
    3. --db-user cattle \
    4. --db-pass <password> \
    5. --db-name cattle

5.2 安全加固措施

  • 启用TLS 1.2+:在daemon.json中添加"tls-min-version": "VersionTLS12"
  • 限制管理访问:通过Nginx反向代理添加IP白名单
  • 定期更新:订阅Rancher安全公告

六、卸载与清理流程

6.1 完整卸载步骤

  1. # 停止并删除容器
  2. sudo docker stop rancher-server
  3. sudo docker rm rancher-server
  4. # 清理数据(谨慎操作)
  5. sudo rm -rf /var/lib/rancher/
  6. # 卸载Docker
  7. sudo yum remove -y docker-ce docker-ce-cli containerd.io
  8. sudo rm -rf /var/lib/docker

6.2 残留文件检查

  1. # 检查残留进程
  2. ps aux | grep rancher
  3. # 检查网络命名空间
  4. ip netns list

七、最佳实践总结

  1. 版本选择:优先使用LTS版本(如v2.6.x/v2.7.x)
  2. 资源监控:部署Prometheus+Grafana监控Rancher组件
  3. 备份策略:每日自动备份/var/lib/rancher/etcd目录
  4. 升级路径:遵循官方升级指南,避免跨大版本升级
  5. 日志分析:配置ELK栈集中管理Rancher日志

通过以上完整流程,可在CentOS系统上实现稳定可靠的Rancher单机部署,为后续的容器编排和集群管理奠定坚实基础。实际部署时建议先在测试环境验证所有步骤,再迁移到生产环境。

相关文章推荐

发表评论