在尝试用Helm在阿里云上部署ApiSix时,遇到些问题,在此记录并分享。

问题

按照官方给出的部署方案部署。

helm repo add apisix https://charts.apiseven.com
helm repo update
helm install apisix apisix/apisix --create-namespace  --namespace apisix

然后你会发现服务起不来。

  • etcd 起不来,缺少存储
  • 服务域名配置问题
  • apisix依赖etcd,所以也起不来

解决

首先生成部署文件

helm template apisix apisix/apisix --create-namespace  --namespace apisix > apisix.yml

存储

  • 阿里云最小的磁盘是20G,而配置文件内是8G,这会导致磁盘无法创建,进而导致存储不可用
  • 需要指定存储类

操作

  1. metadata.spec.template.spec.volumeClaimTemplates[0].spec 下增加storageClassName: alicloud-disk-efficiency
  2. metadata.spec.template.spec.volumeClaimTemplates[0].spec.resources.requests.storage 改为20Gi

服务域名

  • 默认集群域名是cluster.local, 批量替换成自己的集群域名