APISIX API Gateway🔗
Apache APISIX is a dynamic, real-time, high-performance API gateway.
https://github.com/apache/apisix-docker
https://apisix.apache.org/blog/2021/06/28/why-we-need-apache-apisix/
Install🔗
Apache APISIX , Apache APISIX Dashboard , Apache APISIX Ingress Controller.
helm repo add apisix https://charts.apiseven.com && helm repo update && helm upgrade --install apisix apisix/apisix --create-namespace --namespace ingress-apisix --set dashboard.enabled=true --set ingress-controller.enabled=true --set ingress-controller.config.apisix.serviceNamespace=ingress-apisix
kubectl -n apisix exec -it apisix-cdbcd6c47-b6zb4 — curl http://127.0.0.1:9080
loadbalance.yaml
apiVersion: v1
kind: Service
metadata:
name: apisix-loadbalancer
namespace: ingress-apisix
spec:
type: LoadBalancer
selector:
app.kubernetes.io/instance: apisix
app.kubernetes.io/name: apisix
ports:
- name: http
protocol: TCP
port: 80
targetPort: 9080
# - name: https
# protocol: TCP
# port: 443
# targetPort: 443
# - name: apisix-admin
# protocol: TCP
# port: 9180
# targetPort: 9180
ingress.yaml
apiVersion: apisix.apache.org/v2
kind: ApisixRoute
metadata:
name: routes
namespace: ingress-apisix
spec:
http:
- name: left
match:
hosts:
- manage.domain.com
paths:
- /*
backends:
- serviceName: left
servicePort: 80
- name: right
match:
hosts:
- domain.com
paths:
- /*
backends:
- serviceName: right
servicePort: 80
- name: test-right
match:
paths:
- /right
backends:
- serviceName: right
servicePort: 80
apisix-route.yaml