Apisix 简介
Apache APISIX 是由 API7.ai 开发并捐赠的开源、动态、可拓展、高性能的云原生 API 网关,适用于您所有的 API 和微服务。它是 Apache 软件基金会的顶级项目。
您可以使用 APISIX API 网关作为流量入口,处理所有的业务数据。它提供了包括动态路由、动态上游、动态证书、A/B 测试、金丝雀发布、蓝绿部署、限制速率、防御恶意攻击、指标、监控告警、服务可观察性、服务治理等特性。
准备
- Kubernetes
- Helm
- Kubeapps(Optional)
安装
导入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
使用
打开管理后台,登陆后台
创建一个路由
域名 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 后访问