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

相关推荐
wyt5314297 分钟前
Redis的安装教程(Windows+Linux)【超详细】
linux·数据库·redis
CeshirenTester21 分钟前
从数据库到结构化用例:一套可落地的测试智能体架构
数据库·架构
2301_7938046941 分钟前
Python数据库操作:SQLAlchemy ORM指南
jvm·数据库·python
不想看见4042 小时前
Qt 项目中实现良好封装(模块化设计)的详细流程指南
数据库·系统架构
mygljx2 小时前
MySQL 数据库连接池爆满问题排查与解决
android·数据库·mysql
Jeremy爱编码2 小时前
软考数据库
数据库
Bdygsl3 小时前
MySQL(1)—— 基本概念和操作
数据库·mysql
zongzizz3 小时前
Oracle 11g 两节点rac在机房断电重启后PL/SQL和客户端连接数据库报错ORA-12541
数据库·oracle
qq_417695053 小时前
实战:用OpenCV和Python进行人脸识别
jvm·数据库·python
身如柳絮随风扬3 小时前
什么是左匹配规则?
数据库·sql·mysql