一、集群管理步骤对比
1. Rancher 管理集群
-
部署 Rancher
- 在已有的 Kubernetes 集群中运行 Rancher(用 helm 或 docker run 启动 Rancher 容器)。
- 访问 Rancher Web 界面(默认 443 端口),设置管理员账号。
-
导入或新建集群
- 可选择导入已有的 Kubernetes 集群(复制
kubectl apply
脚本到目标集群执行)。 - 或者直接通过 Rancher UI 创建新集群(支持 RKE、RKE2、k3s 等)。
- 可选择导入已有的 Kubernetes 集群(复制
-
集群管理
- 在 Rancher UI 中查看节点状态、命名空间、工作负载。
- 配置用户与角色(RBAC)、资源配额、项目/命名空间划分。
- 集中管理多个集群。
2. 命令行管理集群
-
安装 kubectl/helm
- 本地或跳板机配置
kubectl
,下载 kubeconfig 文件。 - 安装
helm
用于应用部署。
- 本地或跳板机配置
-
集群接入
- 设置
kubectl config use-context
切换集群。 - 使用
kubectl get nodes/pods
验证集群可用。
- 设置
-
集群管理
- 创建命名空间:
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 界面点击安装。
步骤:
-
登录 Rancher → 选择集群 → 进入
Apps & Marketplace
。 -
搜索
mysql
。 -
选择官方 Helm Chart(如 Bitnami/mysql)。
-
填写参数:
- 数据库 root 密码
- 默认数据库名
- 持久化存储 PVC 大小
- Service 类型(ClusterIP/NodePort)
-
点击安装,Rancher 自动生成 Deployment、Service、PVC。
-
通过
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 平台 | 学习成本高、操作不直观 |