文章目录

    • 一、前提条件
    • 二、准备镜像
    • 三、进入 Rancher UI 部署
      • 3.1. 进入 Workloads
      • 3.2. 部署 MySQL
      • 3.3. 部署 Redis
      • 3.4. 部署 RabbitMQ
    • 四、验证服务
    • 五、扩缩容(UI 操作)
    • 六、附录yml部署文件
      • 6.1. mysql.yaml
      • 6.2. redis.yaml
      • 6.3. rabbitmq.yaml

一、前提条件

已有 Rancher 管理的 K8S 集群,并且集群状态健康。

在这里插入图片描述

能通过 Rancher UI(Cluster Explorer)或 kubectl 操作集群。

准备一个专用项目和命名空间 :

在这里插入图片描述
在这里插入图片描述
创建项目
在这里插入图片描述
创建命名空间
在这里插入图片描述
在这里插入图片描述
创建完成
在这里插入图片描述

在 Rancher 中部署应用与传统方式(命令行操作)最大的区别就在于在这里所有操作都是在图形界面中进行的,更为直观。

二、准备镜像

登录到所有集群的工作节点(worker 节点)。

手动拉取镜像:

# MySQL
docker pull mysql:8.0# Redis
docker pull redis:7# RabbitMQ(带管理界面)
docker pull rabbitmq:3-management

在这里插入图片描述
确认镜像已经在本地:

docker images | grep -E "mysql|redis|rabbitmq"

输出中能看到对应版本即可。

在这里插入图片描述

== 注意: ==

Rancher UI 部署时 Pod 会在任意节点调度,所以要保证 每个节点都有镜像,否则会触发远程拉取。

三、进入 Rancher UI 部署

3.1. 进入 Workloads

登录 Rancher UI

进入目标集群 → Cluster Explorer

选择 Workload → Deployments → Create

3.2. 部署 MySQL

  • Name: mysql

  • Namespace: apps(如果没有就新建)

  • Container image: mysql:8.0

  • Environment variables:

    • MYSQL_ROOT_PASSWORD=MyRootPass123

    • MYSQL_DATABASE=mydb

  • Port mapping: 3306 (TCP)

  • Volume: 添加一个 PVC,挂载路径 /var/lib/mysql

  • 点击 Launch 部署

3.3. 部署 Redis

  • Name: redis

  • Namespace: apps

  • Container image: redis:7

  • Command: redis-server --appendonly yes

  • Port mapping: 6379 (TCP)

  • Volume: 添加一个 PVC,挂载路径 /data

  • 点击 Launch 部署

3.4. 部署 RabbitMQ

  • Name: rabbitmq

  • Namespace: apps

  • Container image: rabbitmq:3-management

  • Port mapping:

    • 5672 (AMQP 服务端口)

    • 15672 (Web 管理端口)

  • Volume: 添加一个 PVC,挂载路径 /var/lib/rabbitmq

  • 点击 Launch 部署

四、验证服务

  1. 查看 Pod 状态:
    Rancher UI → Workloads → Pods,确保状态是 Running。

  2. 查看 Service:

  • Rancher UI → Service Discovery

  • 确认 MySQL、Redis、RabbitMQ 的服务已创建。

  1. 进入 Pod 验证:
  • 进入 redis pod:
kubectl exec -it redis-xxx -n apps -- redis-cli
  • 登录 RabbitMQ UI:访问 http://:(如果你设置 NodePort)。

五、扩缩容(UI 操作)

  1. Rancher UI → Workloads → Deployments

  2. 找到目标应用(如 Redis)

  3. 点击右侧 ⋮ → Edit Config

  4. 修改 Replicas 数量,例如从 1 改成 3

  5. 保存 → 系统会自动扩缩容

至此,在 Rancher UI 界面中利用本地镜像部署 MySQL、Redis、RabbitMQ,并支持扩缩容。

六、附录yml部署文件

如果用yaml文件进行在Rancher 管理的 K8S 集群里直接 kubectl apply -f 部署。
下面三个文件分别是 mysql.yaml、redis.yaml、rabbitmq.yaml

6.1. mysql.yaml

apiVersion: v1
kind: PersistentVolumeClaim
metadata:name: mysql-pvcnamespace: apps
spec:accessModes:- ReadWriteOnceresources:requests:storage: 5Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:name: mysqlnamespace: apps
spec:replicas: 1selector:matchLabels:app: mysqltemplate:metadata:labels:app: mysqlspec:containers:- name: mysqlimage: mysql:8.0env:- name: MYSQL_ROOT_PASSWORDvalue: "MyRootPass123"- name: MYSQL_DATABASEvalue: "mydb"ports:- containerPort: 3306volumeMounts:- mountPath: /var/lib/mysqlname: mysql-storagevolumes:- name: mysql-storagepersistentVolumeClaim:claimName: mysql-pvc
---
apiVersion: v1
kind: Service
metadata:name: mysqlnamespace: apps
spec:type: ClusterIPports:- port: 3306targetPort: 3306selector:app: mysql

6.2. redis.yaml

apiVersion: v1
kind: PersistentVolumeClaim
metadata:name: redis-pvcnamespace: apps
spec:accessModes:- ReadWriteOnceresources:requests:storage: 2Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:name: redisnamespace: apps
spec:replicas: 1selector:matchLabels:app: redistemplate:metadata:labels:app: redisspec:containers:- name: redisimage: redis:7ports:- containerPort: 6379volumeMounts:- mountPath: /dataname: redis-storageargs: ["redis-server", "--appendonly", "yes"]volumes:- name: redis-storagepersistentVolumeClaim:claimName: redis-pvc
---
apiVersion: v1
kind: Service
metadata:name: redisnamespace: apps
spec:type: ClusterIPports:- port: 6379targetPort: 6379selector:app: redis

6.3. rabbitmq.yaml

apiVersion: v1
kind: PersistentVolumeClaim
metadata:name: rabbitmq-pvcnamespace: apps
spec:accessModes:- ReadWriteOnceresources:requests:storage: 5Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:name: rabbitmqnamespace: apps
spec:replicas: 1selector:matchLabels:app: rabbitmqtemplate:metadata:labels:app: rabbitmqspec:containers:- name: rabbitmqimage: rabbitmq:3-managementports:- containerPort: 5672   # AMQP- containerPort: 15672  # Web 管理控制台volumeMounts:- mountPath: /var/lib/rabbitmqname: rabbitmq-storagevolumes:- name: rabbitmq-storagepersistentVolumeClaim:claimName: rabbitmq-pvc
---
apiVersion: v1
kind: Service
metadata:name: rabbitmqnamespace: apps
spec:type: ClusterIPports:- name: amqpport: 5672targetPort: 5672- name: httpport: 15672targetPort: 15672selector:app: rabbitmq

在这里插入图片描述


“人的一生会经历很多痛苦,但回头想想,都是传奇”。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/920097.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/920097.shtml
英文地址,请注明出处:http://en.pswp.cn/news/920097.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

8.21-8.22网络编程——词典

文章目录一、思维导图二、词典1、服务器2、客户端3、现象三、牛客网刷题一、思维导图 二、词典 1、服务器 #include <myhead.h>#define SER_PORT 8888 //服务器端口号 #define SER_IP "192.168.116.128" //服务器IP地址 //账户密码结构 typedef s…

ffmpeg测试rtsp地址

ffmpeg可以用 ffmpeg 通过 tcp协议/udp协议传输流到 null设备&#xff0c;ffmpeg \-rtsp_transport tcp \ # 使用TCP协议传输RTSP流-timeout 5000000 \ # 设置超时时间为5000000微秒&#xff08;5秒&#xff09;-i "rtsp://admin:admin123192.168.1.…

Apache Commons Math_Java科学计算的利器

1. 引言 1.1 科学计算在现代软件开发中的重要性 随着大数据、人工智能和科学计算需求的不断增长,科学计算能力已成为现代软件开发不可或缺的重要组成部分。从金融风险评估到工程仿真,从数据分析到机器学习,科学计算在各行各业中发挥着关键作用。 科学计算涉及复杂的数学运…

Python爬虫框架设计:类封装与工程化实践​

实战中的UA轮换技巧 import fake_useragent import random class DynamicHeader: def init(self): self.ua_generator fake_useragent.UserAgent() # 注意&#xff1a;实际使用需更新数据路径 self.fingerprints [“chrome125”, “edge115”, “safari17”] # 2025年主流指…

5G 三卡图传终端:公安执法的 “移动可视化指挥中枢”

前言 在公安执法中&#xff0c;“实时取证、高效指挥、安全协同” 是破解现场复杂局面的核心需求。传统执法设备常因传输卡顿、证据存证难、跨警种信息断层等问题影响执法效能&#xff0c;而 5G 便携式多卡高清视频融合终端凭借多网聚合、高清编码、安全存储等特性&#xff0c;…

R语言rbind()和cbind()使用

rbind&#xff1a;r row&#xff08;行&#xff09;cbind&#xff1a;c column&#xff08;列&#xff09; 核心区别方向 • rbind&#xff1a;纵向&#xff08;按行&#xff09;堆叠&#xff0c;行数相加。 • cbind&#xff1a;横向&#xff08;按列&#xff09;拼接&#…

【Linux】开发工具命令指南:深度解析Vim的使用操作

欢迎各位佬进行交流&#xff0c;我们一起无限进步&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01; 文章目录Vim&#xff1a;多模式高效文本编辑器1. 初次体验 Vim2. Vim 核心工作模式&#xff08;…

【Day 12】73.矩阵置零

文章目录73.矩阵置零题目&#xff1a;思路&#xff1a;方法一&#xff1a;用两个标记数组&#xff08;易理解&#xff0c;额外空间 O(mn)&#xff09;思路&#xff08;直观&#xff09;举例&#xff08;[[1,1,1],[1,0,1],[1,1,1]]&#xff09;优缺点代码实现&#xff08;Go&…

Clustering Enabled Wireless Channel Modeling Using Big Data Algorithms

文章目录Clustering TechniquesPartitioning-Based AlgorithmsDensity-Based AlgorithmsHierarchical-based algorithmsClustering Enabled Channel ModelingCluster-Based Channel ModelsClustering AlgorithmsClustering Techniques 聚类是一种已被广泛用于数据分析的技术。…

基于「多模态大模型 + BGE向量检索增强RAG」的儿童绘画心理健康分析系统(vue+flask+AI算法)

一、项目演示视频 基于「多模态大模型 BGE向量检索增强RAG」的儿童绘画心理健康分析系统(vueflaskAI算法)二、技术栈 前端技术栈 (web-vue) 核心框架: Vue 3.5.13 (Composition API) UI组件库: Element Plus 2.9.4 状态管理: Pinia 2.3.1 路由管理: Vue Router 4.5.0 HTTP客户…

QML中的Component

目录 &#x1f9e0; 核心概念&#xff1a;什么是 Component&#xff1f; &#x1f4ca; Component 的两种主要形式 1. 内联 Component&#xff08;在 QML 文件内部定义&#xff09; 2. 外部 Component&#xff08;单独的 .qml 文件&#xff09; &#x1f3af; Component 的…

什么是模型训练中的 特征提取,如何对光伏发电预测中的特征进行提取

&#x1f50d; 什么是模型训练中的“特征提取” 定义&#xff1a;特征提取是从原始数据中提炼出对预测或分类最有用的信息的过程。它的目标是去掉冗余和噪声&#xff0c;保留能最好反映数据规律的特征。 作用&#xff1a; 降低数据维度&#xff0c;减少计算量 提高模型的泛化…

Linux应急响应一般思路(三)

日志分析Linux日志分析Linux日志类型大致可以分为三类&#xff0c;内核和系统日志、用户日志、应用日志内核和系统日志&#xff1a;这种日志主要由syslog管理、根据其配置文件/etc/syslog.conf中的设置决定内核消息和各种系统程序信息记录到哪个位置用户日志&#xff1a;用户日…

【酒店酒水寄存管理效率低?】佳易王酒水寄存管理系统操作教程全解析

前言&#xff1a; &#xff08;一&#xff09;试用版获取方式 资源下载路径&#xff1a;进入博主头像主页第一篇文章末尾&#xff0c;点击卡片按钮&#xff1b;或访问左上角博客主页&#xff0c;通过右侧按钮获取详细资料。 说明&#xff1a;下载文件为压缩包&#xff0c;使用…

Unity 套圈捕捉 UI 实现分享:椭圆环 Shader + 动态进度

Unity 套圈捕捉 UI 实现分享 期望表现效果 《拼贴冒险传 / PatchQuest》 捕捉进度 动态UI实现效果 目标&#xff1a;角色 A 套圈怪物 B&#xff0c;进度环显示围绕角度。技术点&#xff1a;Shader 绘制椭圆环&#xff0c;支持描边、顺/逆时针,需要对两个切口也进行描边。 技术…

MyBatis-Plus代码生成器

MyBatis-Plus 代码生成器是一款高效、灵活的自动化工具,旨在简化 Java 后端开发中的持久层代码编写。通过配置数据库连接和模板参数,它可以一键生成实体类、Mapper 接口、XML 文件、Service 层及 Controller 层代码,大幅提升开发效率,减少重复劳动。 核心优势: 快速生成:…

06-导入Maven项目模块

文章目录1、文章介绍2、模块复制3、导入pom文件4、效果图1、文章介绍 视频定位 2、模块复制 复制资料“02.maven项目”中的两个项目模块到刚刚新建的项目文件路径中 导入后的效果图 3、导入pom文件 4、效果图

Jenkins+docker 微服务实现自动化部署安装和部署过程

Jenkins 是一款流行的开源自动化服务器&#xff0c;广泛用于持续集成&#xff08;CI&#xff09;和持续交付&#xff08;CD&#xff09;流程的自动化。通过 Docker 部署 Jenkins 可以简化安装和配置过程&#xff0c;同时保证在不同环境下的一致性。本篇文章将介绍如何使用 Dock…

【芯片后端设计的灵魂:Placement的作用与重要性】

在芯片设计的浩瀚宇宙中&#xff0c;后端物理设计扮演着决定成败的关键角色。其中&#xff0c;​Placement&#xff08;布局&#xff09;​​ 作为整个流程的核心环节&#xff0c;被誉为芯片性能、功耗和面积的“奠基者”。今天&#xff0c;我们就来深入探讨Placement的作用、重…

将FGUI的Shader全部预热后,WebGL平台没有加载成功

1&#xff09;将FGUI的Shader全部预热后&#xff0c;WebGL平台没有加载成功 2&#xff09;iOS如何确认内存扩展使用生效 3&#xff09;SpriteAtlasManager.atlasRequested延后一帧回调 4&#xff09;Unity如何使用Java 17打包 这是第442篇UWA技术知识分享的推送&#xff0c;精选…