首页
/ Harvester Helm Chart 部署与配置完全指南

Harvester Helm Chart 部署与配置完全指南

2025-07-08 06:56:27作者:胡唯隽

什么是 Harvester

Harvester 是一个基于 Kubernetes 构建的开源超融合基础设施(HCI)解决方案。它将计算、存储和网络资源整合到单一平台中,通过 Kubernetes 原生方式提供虚拟机管理能力。作为 Rancher 生态系统的重要成员,Harvester 特别适合需要在 Kubernetes 环境中运行虚拟化工作负载的场景。

核心组件架构

Harvester Helm Chart 主要包含以下核心组件:

  1. KubeVirt Operator:负责部署和管理 KubeVirt 组件
  2. KubeVirt CRD:定义虚拟化资源的自定义资源
  3. Longhorn:提供持久化存储解决方案
  4. Harvester 核心服务:包括 Web UI、API 服务等

部署前提条件

在开始部署前,请确保您的环境满足以下要求:

  • Kubernetes 集群版本 1.16 或更高
  • Helm 3.2 或更高版本
  • 已安装 Multus CNI 插件(用于多网络接口支持)
  • 已部署 Harvester CRD(自定义资源定义)

详细部署步骤

1. 创建命名空间

首先需要为 Harvester 创建专用的命名空间:

kubectl create ns harvester-system

2. 基础安装命令

使用 Helm 进行基础安装,将服务类型设置为 NodePort:

helm install harvester harvester \
  --namespace harvester-system \
  --set service.harvester.type=NodePort

3. 卸载方法

如需卸载 Harvester,执行以下命令:

helm uninstall harvester --namespace harvester-system

高级配置选项

使用已有组件

如果环境中已部署 KubeVirt 或 Longhorn,可以通过参数禁用相关组件的安装:

helm install harvester harvester \
  --namespace harvester-system \
  --set kubevirt.enabled=false \
  --set kubevirt-operator.enabled=false \
  --set longhorn.enabled=false

注意:目前 Harvester 仅支持 Longhorn 作为存储驱动,暂不支持其他存储方案。

KubeVirt Operator 配置

KubeVirt Operator 的配置参数需要放在 kubevirt-operator 域下。例如修改 admission webhook 的 Secret 名称:

helm install harvester harvester \
  --namespace harvester-system \
  --set-string kubevirt-operator.containers.operator.certificates.admissionWebhook.secretName=mysecret

KubeVirt CRD 配置

KubeVirt CRD 的配置参数需要放在 kubevirt 域下。特别需要注意的是,所有 KubeVirt 参数都是字符串类型,包括布尔值和数值。

例如,在非 KVM 主机上启用模拟模式:

helm install harvester harvester \
  --namespace harvester-system \
  --set-string kubevirt.spec.configuration.developerConfiguration.useEmulation=true

生产环境建议

  1. 版本选择:master 分支处于活跃开发状态,生产环境建议使用 stable 分支
  2. 资源规划:根据预期负载合理分配 Kubernetes 节点资源
  3. 网络配置:确保 Multus CNI 正确配置,满足多网络需求
  4. 存储规划:Longhorn 需要足够的存储空间,建议提前规划存储方案

常见问题排查

  1. 部署失败:检查所有前提条件是否满足,特别是 CRD 是否已正确安装
  2. 网络问题:确认 Multus CNI 插件工作正常
  3. 存储问题:检查 Longhorn 是否正常运行,存储类是否可用
  4. 权限问题:确保 Helm 和 kubectl 有足够的操作权限

最佳实践

  1. 在测试环境验证配置后再部署到生产环境
  2. 使用 values.yaml 文件管理复杂配置,而非命令行参数
  3. 定期备份关键配置和虚拟机数据
  4. 监控系统资源使用情况,及时扩容

通过本文介绍的部署方法和配置技巧,您应该能够顺利地在 Kubernetes 环境中部署和管理 Harvester 超融合基础设施解决方案。根据实际需求灵活调整配置参数,可以充分发挥 Harvester 的潜力,为您的虚拟化需求提供强大支持。