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 平台 学习成本高、操作不直观

相关推荐
Lotus_滴滴18 小时前
【金融保研复习】知识点与可能的题目
数据库
Hello.Reader18 小时前
用 Flink Table API 打造实时交易看板从 Kafka 到 MySQL 再到 Grafana
mysql·flink·kafka
qq_2320455718 小时前
在Grafana中配置MySQL数据源并创建查询面板
mysql·grafana
学习2年半19 小时前
sql题目
数据库·sql
还是奇怪19 小时前
SQL 注入攻防:绕过注释符过滤的N种方法
数据库·sql·web安全
Run Freely93719 小时前
MySqL-day4_03(索引)
数据库·mysql
编程充电站pro19 小时前
聚合函数陷阱:AVG 和 GROUP BY 搭配使用注意点
数据库·sql
会开花的二叉树20 小时前
实战:基于 BRPC+Etcd 打造轻量级 RPC 服务 —— 从注册到调用的完整实现
网络·数据库·c++·rpc·etcd
修炼果20 小时前
为什么使用 Redis 存储Oauth的state 参数,可有效防止 CSRF 攻击
数据库·redis·csrf
cookqq20 小时前
MongoDB源码delete分析观察者getOpObserver()->onDelete
数据库·sql·mongodb·nosql