API gateway that aggregates multiple backend services behind a single endpoint. You define which APIs to expose using Kubernetes custom resources (declarative configuration), following a domain-oriented microservice style.
-
Install the Aku CRD
kubectl apply -f artifacts/crd-aku.yaml
-
Create an Aku resource
kubectl apply -f artifacts/aku.yaml
Example
aku.yaml:apiVersion: configuration.aku.vn/v1alpha1 kind: Aku metadata: name: aku spec: deploymentName: aku replicas: 1 routeMap: - name: open-prefix-public-path overridePath: /api/v1/your-service/public upstream_path: /public - name: open-prefix/user-path overridePath: /api/v1/your-service/user upstream_path: /user methodMap: - name: open-only-public-method proto_service: pb.ProtoService allow: - PublicMethod - name: open-all-method-except-private proto_service: pb.OtherProtoService disallow: - PrivateMethod
-
Deploy the aku gateway and assign it a
ClusterRoleso it can watch Aku resources.