Rancher 管理集群与命令行管理集群的具体操作步骤,并且分别展示如何安装 MySQL


一、集群管理步骤对比

1. Rancher 管理集群

  1. 部署 Rancher

    • 在已有的 Kubernetes 集群中运行 Rancher(用 helm 或 docker run 启动 Rancher 容器)。
    • 访问 Rancher Web 界面(默认 443 端口),设置管理员账号。
  2. 导入或新建集群

    • 可选择导入已有的 Kubernetes 集群(复制 kubectl apply 脚本到目标集群执行)。
    • 或者直接通过 Rancher UI 创建新集群(支持 RKE、RKE2、k3s 等)。
  3. 集群管理

    • 在 Rancher UI 中查看节点状态、命名空间、工作负载。
    • 配置用户与角色(RBAC)、资源配额、项目/命名空间划分。
    • 集中管理多个集群。

2. 命令行管理集群

  1. 安装 kubectl/helm

    • 本地或跳板机配置 kubectl,下载 kubeconfig 文件。
    • 安装 helm 用于应用部署。
  2. 集群接入

    • 设置 kubectl config use-context 切换集群。
    • 使用 kubectl get nodes/pods 验证集群可用。
  3. 集群管理

    • 创建命名空间:kubectl create ns dev
    • 配置 RBAC:kubectl apply -f role.yaml
    • 管理资源(Pod、Deployment、Service、Ingress 等)全部通过 YAML + kubectl 执行。

二、MySQL 安装步骤对比

1. Rancher 中安装 MySQL

Rancher 提供 应用市场 (App Catalog/Helm Charts),可直接在 Web 界面点击安装。

步骤:

  1. 登录 Rancher → 选择集群 → 进入 Apps & Marketplace

  2. 搜索 mysql

  3. 选择官方 Helm Chart(如 Bitnami/mysql)。

  4. 填写参数:

    • 数据库 root 密码
    • 默认数据库名
    • 持久化存储 PVC 大小
    • Service 类型(ClusterIP/NodePort)
  5. 点击安装,Rancher 自动生成 Deployment、Service、PVC。

  6. 通过 kubectl get svc -n <namespace> 查看 MySQL 的访问地址。


2. 命令行安装 MySQL

通过 Helm 或 YAML 手动部署。

方法 A:使用 Helm

bash 复制代码
# 添加 Bitnami 仓库
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo update

# 创建命名空间
kubectl create ns mysql

# 安装 MySQL
helm install my-mysql bitnami/mysql \
  --namespace mysql \
  --set auth.rootPassword=admin123 \
  --set auth.database=eamx \
  --set primary.persistence.size=10Gi

检查:

bash 复制代码
kubectl get pods -n mysql
kubectl get svc -n mysql

方法 B:使用 YAML 清单

yaml 复制代码
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: mysql-pvc
  namespace: mysql
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 10Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: mysql
  namespace: mysql
spec:
  replicas: 1
  selector:
    matchLabels:
      app: mysql
  template:
    metadata:
      labels:
        app: mysql
    spec:
      containers:
        - name: mysql
          image: mysql:8.0
          env:
            - name: MYSQL_ROOT_PASSWORD
              value: admin123
            - name: MYSQL_DATABASE
              value: eamx
          ports:
            - containerPort: 3306
          volumeMounts:
            - name: mysql-storage
              mountPath: /var/lib/mysql
      volumes:
        - name: mysql-storage
          persistentVolumeClaim:
            claimName: mysql-pvc
---
apiVersion: v1
kind: Service
metadata:
  name: mysql
  namespace: mysql
spec:
  type: ClusterIP
  ports:
    - port: 3306
  selector:
    app: mysql

应用:

bash 复制代码
kubectl apply -f mysql-deploy.yaml

三、对比总结

项目 Rancher 命令行
集群接入 UI 导入/创建集群 kubectl config 配置
权限管理 界面化 RBAC、团队协作 YAML 文件定义 Role/Binding
MySQL 部署 Marketplace → 一键安装 → 填写参数 Helm/YAML 手动安装
适合人群 运维、测试、非 K8s 专家 DevOps、K8s 专家、CI/CD 脚本
优点 可视化、易用、多集群集中管理 灵活、可自动化、适合生产流水线
缺点 灵活性略低,依赖 Rancher 平台 学习成本高、操作不直观

相关推荐
武子康21 小时前
Java-114 深入浅出 MySQL 开源分布式中间件 ShardingSphere 深度解读
java·数据库·分布式·mysql·中间件·性能优化·开源
hunzi_121 小时前
搭建发帖商城系统的核心注意事项:从规划到运营的全维度指南
大数据·数据库
zhz521421 小时前
基于SQLite索引的智能图片压缩存储系统设计与实现
数据库·sqlite·图片压缩·压缩
周小码21 小时前
Turso数据库:用Rust重构的下一代SQLite——轻量级嵌入式数据库的未来选择
数据库·重构·rust
A尘埃1 天前
企业级架构师综合能力项目案例二(项目性能优化方案JVM+数据库+缓存+代码JUC+消息中间件架构+服务熔断降级)
jvm·数据库·性能优化·架构师
showmethetime1 天前
Ubuntu平台查看.gz格式压缩文件内容以及利用grep命令过滤搜索内容
数据库·ubuntu·postgresql
_果果然1 天前
NestJS 3 分钟搭好 MySQL + MongoDB,CRUD 复制粘贴直接运行
数据库·mysql·mongodb
柯南二号1 天前
【后端数据库】MySQL 索引生效/失效规则 + 核心原理
数据库·mysql
Vic101011 天前
优化正则表达式性能:预编译与模式匹配的最佳实践
数据库·mysql·正则表达式