当前位置: 首页 > news >正文

Rancher 使用手册详解

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的主要功能和使用场景。建议根据实际需求选择相应的章节深入学习。对于生产环境部署,请务必参考官方最新文档并进行充分测试。

http://www.jsqmd.com/news/346904/

相关文章:

  • 车辆换道LM-FVDM模型仿真数据可视化系统(LM-FVDM)-大数据深度学习算法毕设毕业设计项目pyqt
  • 2026年软件测试:驯化AI比优化算法更重要的深层解析
  • 2.5 期末游记
  • 别急着修 Bug——从《第一个错误的版本》聊算法里的工程直觉
  • 终极清单:2026年最值钱的太空软件认证
  • 如何通过AI销冠系统提升数字员工的销售效能?
  • 团体程序设计天梯赛-练习集 L2-036 网红点打卡攻略
  • 从BUG追踪到碳汇追踪:软件测试人转型蓝碳经济的3大黄金入口
  • 离线畅用,无网也能识别,良心到爆!
  • 【强化学习】动态规划算法 - 实践
  • 工作熟练后,你的核心竞争力从不是代码本身:很多人第一反应是“捂紧源码”,但这其实是最无效的自保方式:需要输出你 懂坑、懂优化、懂业务适配,或许你要跳出现在舒适区,找到更有价值的事
  • 互联网大厂Java面试:从分布式架构到安全技术核心解析
  • Python Elasticsearch 客户端使用详解
  • 当代码遇见宇宙射线:测试工程师必知的太空防护革命
  • Nicheformer 基础模型
  • 完整教程:仓颉语言 LinkedList 链表实现深度解析
  • 同花顺 app 设置技巧
  • Kotlin编程语言入门与常见问题
  • 三角形正反面之谜:三个点如何决定朝向?
  • 【MySQL 数据库】MySQL 数据库核心概念详解:库、表、字段、主键与关系型模型一文读懂
  • DNA 免疫抗体制备服务:构象保真的挑战性抗原抗体制备创新方案
  • NoSQL数据库在传感器大数据存储中的选型指南
  • 空间转录组
  • P1901 发射站
  • Node.js 24.13.0 (LTS)
  • 云计算与物联网融合:推动智慧城市的未来发展 - 指南
  • 树上背包+换根DP
  • 企业AI能力评估与供应商选择:AI应用架构师教你如何用评估结果筛选合作方
  • 智能数字资产登记系统数据存储架构:AI应用架构师的选型指南
  • 知识图谱在AI原生应用中的核心作用解析