本文主要介绍通过k8s来部署apisix及apisix-ingress-controller,使用apisix作为k8s内Pod互相访问的网关。
1. 环境准备
1.1. 安装helm
参考:Helm | 安装
1 | curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash |
helm添加仓库
1 | helm repo add apisix https://charts.apiseven.com |
1.2. 安装ETCD
可以提前准备好etcd环境,也可以使用apisix官方的helm命令安装,但是需要存在默认是storageclass来提供pv挂载。
2. 一键安装全部
1 | helm install apisix apisix/apisix --set gateway.type=NodePort --set ingress-controller.enabled=true --namespace=apisix --create-namespace |
或通过以下方式分别安装各组件。
3. 安装apisix
参考:apisix-helm-chart/apisix.md at master · apache/apisix-helm-chart · GitHub
3.1. 安装
1 | helm install apisix apisix/apisix --namespace apisix --create-namespace |
卸载
1 | helm uninstall apisix --namespace apisix |
3.2. 修改配置
1 | kubectl edit cm apisix-napisix |
可选:
修改apisix端口。
修改etcd地址。
修改admin key值。
修改日志路径。
使用etcd存储stream配置或者静态文件存储stream配置
1 | apisix: |
4. 安装apisix-ingress-controller
参考:apisix-helm-chart/apisix-ingress-controller.md at master · apache/apisix-helm-chart · GitHub
4.1. 安装
1 | helm install apisix-ingress-controller apisix/apisix-ingress-controller --namespace apisix --create-namespace |
卸载
1 | helm uninstall apisix-ingress-controller --namespace apisix |
4.2. 修改配置
1 | kubectl edit cm apisix-configmap -napisix |
配置
apisix地址
apisix admin key
1 | default_cluster_base_url: http://apisix-admin.apisix.svc.cluster.local:9180/apisix/admin |
5. 安装dashboard
5.1. 安装
1 | helm repo add apisix https://charts.apiseven.com |
卸载
1 | helm uninstall apisix-dashboard --namespace apisix |
5.2. 修改配置
1 | kubectl edit cm apisix-dashboard -napisix |
端口
etcd地址
登录账号密码
1 | data: |
6. 查看helm安装列表
1 | # helm list -n apisix |
参考:
赞赏一下