4

k3s的etcd备份

 1 year ago
source link: https://www.bboy.app/2023/01/10/k3s%E7%9A%84etcd%E5%A4%87%E4%BB%BD/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

k3s的etcd备份

January 10, 2023
20230110-1.webp

如果你使用的是嵌入式的etcd,k3s 是支持直接备份自己的etcd snapshot到s3的,具体的可以看下面

https://docs.k3s.io/backup-restore

具体你需要配置下面几个参数

etcd-s3: true
etcd-s3-endpoint: xxx.xxx.com
etcd-s3-skip-ssl-verify: true
etcd-s3-access-key: user
etcd-s3-secret-key: pass
etcd-s3-bucket: etcd-backup
etcd-snapshot-retention: 30
  • etcd-s3 是不是启用备份到s3
  • etcd-s3-endpoint s3 的端点
  • etcd-s3-skip-ssl-verify 禁用 S3 SSL 证书验证
  • etcd-s3-access-key S3 访问密钥
  • etcd-s3-secret-key S3 密钥
  • etcd-s3-bucket S3 存储桶名称
  • etcd-snapshot-retention 要保留的快照数

除此之外还有下面参数

  • etcd-snapshot-schedule-cron cron 规范中的快照间隔时间。例如。每 5 小时0 */5 * * *(默认值0 */12 * * *:)
  • etcd-s3-region S3 区域/存储桶位置(可选)。默认为 us-east-1
  • etcd-s3-folder S3文件夹
  • etcd-s3-endpoint-ca 用于连接到 S3 端点的 S3 自定义 CA 证书

下面是我的k3s目前配置的所有参数

vim /etc/rancher/k3s/config.yaml

cluster-init: true
docker: false
data-dir: /data/k3s
server: https://k8s.xxx.com:6443
disable:
  - traefik
  - servicelb
  - metrics-server
  - local-storage
token: d41de980xcf77998ecfsdfsdf8427e
kubelet-arg:
  - cgroup-driver=systemd
kube-proxy-arg:
  - proxy-mode=ipvs
  - ipvs-strict-arp=true
etcd-s3: true
etcd-s3-endpoint: xxx.xxx.com
etcd-s3-skip-ssl-verify: true
etcd-s3-access-key: user
etcd-s3-secret-key: pass
etcd-s3-bucket: etcd-backup
etcd-snapshot-retention: 30

重启k3s之后测试下配置是不是ok的

k3s etcd-snapshot

如果没有什么问题你的bucket内部就会有对应的文件出现了

当你的集群如果出现问题了,可以直接用下面的命令恢复数据

k3s server \
  --cluster-init \
  --cluster-reset \
  --etcd-s3 \
  --cluster-reset-restore-path=<SNAPSHOT-NAME> \
  --etcd-s3-bucket=<S3-BUCKET-NAME> \
  --etcd-s3-access-key=<S3-ACCESS-KEY> \
  --etcd-s3-secret-key=<S3-SECRET-KEY>

欢迎关注我的博客www.bboy.app

Have Fun


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK