Velero 系列文章(二):使用 Helm 安装 Velero

时间:2022-12-10 11:04:50

概述

本文是通过 Helm 3 来安装 Velero, 只做最基本的安装。并计划将 YAML (只备份 YAML, 不备份 Volume) 备份到腾讯云的 COS(兼容 S3, 所以可以通过 AWS S3 插件来实现)
需要安装:

  • velero
  • AWS S3 插件

不安装:

  • CSI
  • VolumeSnapshot
  • Restic

安装 CLI

  1. 为您的客户端平台下载 最新版本 的压缩包。

  2. 提取压缩包:

    tar -xvf <RELEASE-TARBALL-NAME>.tar.gz
    
  3. 将提取的二进制文件velero移动到您的某个$PATH位置(对于大多数用户/usr/local/bin)。

卷插件

???? Notes:

腾讯云的 COS 可以直接使用 Velero 的 AWS Object Store plugin

通过 Helm 安装和配置服务器组件

helm repo add vmware-tanzu https://vmware-tanzu.github.io/helm-charts

通过更改值添加/更新必要的值。然后运行:

helm install vmware-tanzu/velero --namespace velero -f values.yaml --generate-name --create-namespace
# 或
helm upgrade --install velero-xxxxxxx vmware-tanzu/velero --namespace velero -f values.yaml

????Notes:

完整的 values.yaml 见这里:
helm-charts/values.yaml at main · vmware-tanzu/helm-charts (github.com)

本次场景中,需要修改的值有:

  1. initContainers 使用 velero-plugin-for-aws
  2. metrics : (用于监控)
    1. podAnnotations
    2. serviceMonitor 对于已安装 Prometheus Operator 的,需要enabled: true
  3. configuration
    1. provider: aws
    2. bucket
    3. prefix
    4. default
    5. config.s3Url: cos.ap-shanghai.myqcloud.com (根据腾讯云官网进行修改:对象存储 使用 AWS S3 SDK 访问 COS-最佳实践-文档中心-腾讯云-腾讯云 (tencent.com))
  4. credentials.secretContents
  5. snapshotsEnabled: false
  6. deployRestic: false

????Warning:

如果是 arm64 架构(如树莓派 4B), 那么kubectl 那个镜像也不能用 bitnami 的,因为 bitnami 没有 arm64 镜像。
另外 upgradeCRD 也会导致在 arm64 上安装失败,所以先禁用。

可以改为如下:

kubectl:
  image:
    repository: docker.io/rancher/kubectl
    tag: v1.21.9

upgradeCRDs: false

系列文章

????️参考文档

三人行, 必有我师; 知识共享, 天下为公. 本文由东风微鸣技术博客 EWhisper.cn 编写.