Rancher 使用手册详解
2026/4/3 0:26:30 网站建设 项目流程

Rancher 使用手册详解

📚 一、快速入门指南

1.1 环境准备

最低配置要求: - CPU: 4核+ - 内存: 8GB+ - 存储: 50GB+ - 操作系统: Ubuntu/CentOS/RHEL/Debian - Docker: 20.10+

1.2 单节点快速部署

# 1. 使用Docker运行Rancher Serverdockerrun -d\--name rancher\--restart=unless-stopped\-p80:80 -p443:443\--privileged\-v /opt/rancher:/var/lib/rancher\rancher/rancher:latest# 2. 访问Web界面# 浏览器打开: https://<服务器IP># 首次登录获取初始密码:dockerlogs rancher2>&1|grep"Bootstrap Password"

🏗️ 二、集群管理

2.1 创建Kubernetes集群

方式一:自定义RKE集群
步骤: 1. 登录Rancher UI → 集群 → 创建 2. 选择"自定义" 3. 配置集群参数: - Kubernetes版本 - 网络插件(Calico/Flannel/Cilium) - Ingress控制器 - 云提供商集成 4. 添加节点角色: - etcd(存储) - Control Plane(控制平面) - Worker(工作节点) 5. 复制节点命令到目标服务器执行
方式二:导入已有集群
# 1. 在Rancher中创建"导入"类型集群# 2. 获取注册命令# 3. 在目标集群执行:curl--insecure -sfL https://<rancher-server>/v3/import/<token>.yaml|kubectl apply -f -

2.2 集群配置示例

# rke-config.yaml(RKE集群配置文件)cluster_name:my-prod-clusterkubernetes_version:v1.25.9nodes:-address:192.168.1.10user:rootrole:[controlplane,etcd,worker]-address:192.168.1.11user:rootrole:[worker]network:plugin:calicoservices:etcd:snapshot:truecreation:6hretention:24h

📦 三、应用部署

3.1 通过Catalog部署应用

操作路径: 1. 进入项目视图 → 应用市场 2. 选择应用(如:nginx、redis、wordpress) 3. 配置参数: - 命名空间 - 副本数 - 资源限制 - 环境变量 4. 点击启动

3.2 Helm Chart自定义部署

# 自定义values.yaml示例# wordpress-values.yamlwordpressUsername:adminwordpressPassword:secret-passwordwordpressEmail:admin@example.comservice:type:LoadBalancerport:80persistence:enabled:truesize:10Gi

3.3 工作负载管理

# 通过YAML部署DeploymentapiVersion:apps/v1kind:Deploymentmetadata:name:nginx-deploymentspec:replicas:3selector:matchLabels:app:nginxtemplate:metadata:labels:app:nginxspec:containers:-name:nginximage:nginx:1.21ports:-containerPort:80resources:requests:memory:"64Mi"cpu:"250m"limits:memory:"128Mi"cpu:"500m"

🔐 四、安全管理

4.1 多租户配置

1. 创建用户 - 本地用户 - 外部认证(LDAP/AD/OAuth) 2. 配置角色: - 集群所有者 - 集群成员 - 项目所有者 - 项目成员 - 自定义角色 3. 项目隔离: - 创建项目 → 分配用户 → 设置资源配额

4.2 网络策略

# 网络策略示例apiVersion:networking.k8s.io/v1kind:NetworkPolicymetadata:name:backend-policyspec:podSelector:matchLabels:app:backendpolicyTypes:-Ingressingress:-from:-podSelector:matchLabels:app:frontendports:-protocol:TCPport:8080

4.3 安全扫描

操作路径: 1. 系统工具 → 扫描 2. 配置扫描策略: - 漏洞阈值(CRITICAL/HIGH/MEDIUM) - 定期扫描计划 - 忽略特定CVE 3. 查看扫描报告

📊 五、监控与日志

5.1 启用监控

步骤: 1. 集群 → 工具 → 监控 2. 配置数据保留时间 3. 设置资源分配 4. 启用监控组件(Prometheus+Grafana)

5.2 自定义监控仪表板

# Grafana仪表板配置示例{"dashboard":{"title":"应用监控","panels":[{"title":"CPU使用率","targets":[{"expr":"rate(container_cpu_usage_seconds_total{namespace=\"$namespace\"}[5m])","legendFormat":"{{pod}}"}]}]}}

5.3 日志收集配置

# ClusterLogging CRD配置apiVersion:logging.banzaicloud.io/v1beta1kind:ClusterOutputmetadata:name:elasticsearch-outputspec:elasticsearch:host:elasticsearch-logging.default.svc.cluster.localport:9200---apiVersion:logging.banzaicloud.io/v1beta1kind:ClusterFlowmetadata:name:all-logs-flowspec:match:-select:{}localOutputRefs:-elasticsearch-output

🔄 六、CI/CD流水线

6.1 配置流水线

步骤: 1. 项目 → 工具 → 流水线 2. 添加版本控制提供商: - GitHub/GitLab/Bitbucket - 配置访问令牌 3. 创建.rancher-pipeline.yml

6.2 流水线示例

# .rancher-pipeline.ymlstages:-name:构建steps:-runScriptConfig:image:maven:3.8-jdk-11shellScript:|mvn clean package-publishImageConfig:dockerfilePath:./DockerfilebuildContext:.tag:myapp:${CICD_EXECUTION_SEQUENCE}-name:测试steps:-runScriptConfig:image:alpine:3.14shellScript:|echo "运行测试..."-name:部署steps:-applyYamlConfig:path:./deployment.yamlcontent:|apiVersion: apps/v1 kind: Deployment metadata: name: myapp spec: replicas: 3 selector: matchLabels: app: myapp template: metadata: labels: app: myapp spec: containers: - name: myapp image: myapp:${CICD_EXECUTION_SEQUENCE}

🛠️ 七、运维操作

7.1 备份与恢复

# 备份Rancher配置helm get values rancher -n cattle-system>rancher-values.yaml# 备份集群状态kubectl get clusters.management.cattle.io -o yaml>clusters-backup.yaml# 使用Rancher Backup Operator# 1. 安装Backup Operator# 2. 创建备份计划# 3. 配置存储位置(S3/MinIO等)

7.2 集群升级

滚动升级步骤: 1. 准备阶段: - 备份ETCD - 检查节点状态 - 确认存储空间 2. 升级Rancher Server: helm upgrade rancher rancher-stable/rancher \ --namespace cattle-system \ --version 2.7.0 3. 升级下游集群: - 集群 → 升级 - 选择新版本 - 逐节点滚动升级

7.3 故障排查

# 常见诊断命令# 1. 检查组件状态kubectl get pods -n cattle-system# 2. 查看Rancher日志kubectl logs -f deployment/rancher -n cattle-system# 3. 检查网络连接kubectl run net-check --image=alpine --rm -it --ping<目标地址># 4. 重置Rancher Agentdockerstop rancher-agentdockerrmrancher-agent# 重新运行agent命令

🎯 八、最佳实践

8.1 生产环境建议

架构设计: - 3节点Rancher Server(高可用) - 外部数据库(MySQL/PostgreSQL) - 负载均衡器 - 对象存储备份 安全配置: - 启用TLS证书 - 配置Pod安全策略 - 启用网络策略 - 定期漏洞扫描 监控告警: - 关键指标监控 - 设置资源阈值告警 - 日志聚合分析

8.2 性能优化

# Rancher Server资源配置建议resources:requests:memory:"2Gi"cpu:"1000m"limits:memory:"4Gi"cpu:"2000m"# 节点标签与污点nodeSelector:dedicated:rancher-servertolerations:-key:"dedicated"operator:"Equal"value:"rancher-server"effect:"NoSchedule"

8.3 资源清理策略

# 定期清理资源# 1. 清理完成的Jobkubectl delete job --field-selector status.successful=1# 2. 清理未使用的镜像dockerimage prune -a --filter"until=72h"# 3. 清理ETCD碎片etcdctl defrag --endpoints=https://127.0.0.1:2379

📖 九、学习资源

官方文档

  1. 主要文档: https://rancher.com/docs/
  2. API参考: https://rancher.com/docs/rancher/v2.x/en/api/
  3. 故障排除: https://rancher.com/docs/rancher/v2.x/en/troubleshooting/

培训资源

  1. Rancher Academy: 免费在线课程
  2. 动手实验室: 交互式实验环境
  3. 社区论坛: https://forums.rancher.com/

工具集成

常用插件: - 证书管理: cert-manager - 服务网格: Istio - GitOps: Fleet - 镜像仓库: Harbor - 密钥管理: Vault

💡 实用技巧

  1. 快捷键

    • Ctrl+K: 集群切换器
    • /: 全局搜索
  2. 批量操作

    • 使用Kubectl批量部署
    • 利用Rancher CLI自动化
  3. 模板管理

    • 创建自定义应用模板
    • 共享模板到组织
  4. API自动化

    # 使用Rancher CLIrancher clusterslsrancher appsinstallwordpress# 使用API Tokencurl-u"${RANCHER_TOKEN}"\-X POST\-H'Content-Type: application/json'\https://rancher.example.com/v3/projects

这个使用手册涵盖了Rancher的主要功能和使用场景。建议根据实际需求选择相应的章节深入学习。对于生产环境部署,请务必参考官方最新文档并进行充分测试。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询