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

相关推荐
.又是新的一天.11 分钟前
08-Jmeter数据驱动、数据库的操作、命令行执行方式
数据库·jmeter
LilySesy1 小时前
ABAP+如果在join的时候需要表1的字段某几位等于表2的字段的某几位,需要怎么做?
服务器·前端·数据库·sap·abap·alv
口_天_光健1 小时前
制造企业的数据目录编写
大数据·数据库·数据仓库·数据分析
mpHH1 小时前
postgresql pg_upgrade源码阅读--doing
数据库·postgresql
苦学编程的谢1 小时前
Redis_6_String
数据库·redis·缓存
秋已杰爱2 小时前
技术准备十:etcd
数据库·etcd
研究司马懿2 小时前
【ETCD】ETCD集群部署(TLS)
数据库·chrome·云原生·自动化·运维开发·etcd
行者游学2 小时前
ETCD 备份脚本
数据库·etcd
研究司马懿2 小时前
【ETCD】ETCD单节点二进制部署(TLS)
数据库·chrome·云原生·运维开发·etcd·argocd·gitops
行者游学2 小时前
ETCD 压力测试脚本
数据库·压力测试·etcd