helm快速部署apisix

847 阅读1分钟

Apisix 简介

Apache APISIX 是由 API7.ai 开发并捐赠的开源、动态、可拓展、高性能的云原生 API 网关,适用于您所有的 API 和微服务。它是 Apache 软件基金会的顶级项目。

您可以使用 APISIX API 网关作为流量入口,处理所有的业务数据。它提供了包括动态路由、动态上游、动态证书、A/B 测试、金丝雀发布、蓝绿部署、限制速率、防御恶意攻击、指标、监控告警、服务可观察性、服务治理等特性。

准备

安装

导入bitnami repo

helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo update

准备chart values

完整的原始值可以通过helm命令查看

helm show values bitnami/apisix

需要修改的地方

# values.yaml
dataPlane:
  defaultConfig:
    plugin_attr:
      redirect:
        https_port: 443 #http跳转https的端口,按具体情况调整

执行安装

helm install apisix -n ingress --create-namespace bitnami/apisix -f values.yaml

获取 Dashboard 地址

kubectl get svc --namespace ingress apisix-dashboard -o go-template \
--template="{{ range (index .status.loadBalancer.ingr
ess 0) }}{{ . }}{{ end }}"

获取登陆密码

kubectl get secret --namespace ingress apisix-dashboard -o jsonpath="{.data.password}" | base64 -d

默认用户名为 user

使用

打开管理后台,登陆后台

image.png

创建一个路由

域名 admin.example.com,后端使用 apisix-dashboard,端口 80,添加成功

获取外部访问 ip

export SERVICE_IP=$(kubectl get svc --namespace ingress apisix-data-plane -o go-template --template="{{ range (index .status.loadBalancer.ingress 0) }}{{ . }}{{ end }}")

结果

访问设置好的域名

curl http://admin.example.com --resolve admin.example.com:80:$SERVICE_IP -Lv

我用的 linux 操作系统,这里直接只用了 curl,windows用户也可以绑定 host 后访问