老蒋的知识库

  • 首页
  • 文章归档
  • 关于页面

  • 搜索

Apisix的坑

发表于 2022-12-11 | 分类于 K8S部署 | 0 | 阅读次数 54

Helm部署Apisix后ETCD一直无法启动

日志报错 etcdserver: member not found

查看错误日志: kubectl -n apisix logs apisix-etcd-0 -f=true

错误分析

官网helm使用的是bitnami部署etcd集群,其中有个Bug,etcd的Pod奔溃后自启动无法加入集群。要么安装时配置集群节点数为1 etcd.replicaCount=1,或者配置外部etcd后自行进行维护etcd.host=xxxxxxx

参考链接:

bitnami\etcd 集群pod奔溃后自启动无法加入集群: https://github.com/apache/apisix-helm-chart/issues/290

# 卸载apisix
helm uninstall --namespace apisix apisix 

# 删除所有pvc
kubectl -n apisix delete pvc data-apisix-etcd-0 data-apisix-etcd-1 data-apisix-etcd-2

# 重装Apisix,因为ETCD是中的副本数关联较多
helm install --set gateway.tls.enabled=true --set gateway.http.containerPort=80 --set gateway.tls.containerPort=443 --set global.storageClass=nfs-local-k8s-0 --set admin.allow.ipList={0.0.0.0/0} --create-namespace --namespace apisix apisix apisix/apisix

ETCD运行一段时间后就会自行崩溃

参考资料:
https://halo.ljdzsk.com/archives/etcd-zhong-de-keng
https://github.com/bitnami/charts/blob/main/bitnami/etcd/README.md

问题描述

ETCD的日常运行会保留键空间历史记录,随着使用不断占用磁盘空间,ETCD默认设置日志占用磁盘2G。如果超过这个设定值会触发集群级警告,这将使得系统进入有限操作的维护模式。此时只能进行读取操作,如果继续不进行管理ETCD会自行崩溃。

解决方法
  1. 手动清理
  2. 自动清理:部署时添加自动清理参数--set etcd.autoCompactionRetention=5m,保留5小时内键空间历史
  • 本文作者: jagger
  • 本文链接: /archives/apisix-de-keng
  • 版权声明: 本博客所有文章除特别声明外,均采用CC BY-NC-SA 3.0 许可协议。转载请注明出处!
Gitlab的坑
快速部署WordPress博客
jagger

jagger

66 日志
31 分类
0 标签
Creative Commons
0%
© 2026 jagger
由 Halo 强力驱动