Getting Started
Verified against tag
1.4.1. Commands assume a Kubernetes cluster with a compatible Istio already installed.
Prerequisites
- A Kubernetes cluster with
kubectlconfigured. - A compatible Istio install (Aeraki 1.4.x targets Istio 1.18.x), per the install docs.
- Istio's ConfigMap adjusted to add the DNS capture and metrics settings Aeraki protocols need, per the install docs.
- For building from source: Go >= 1.16 and Docker with Docker Compose (
README.md:131-132).
Install
git clone https://github.com/aeraki-mesh/aeraki.git
cd aeraki
export AERAKI_TAG=1.4.1
make installmake install runs bash demo/install-aeraki.sh (Makefile:39-40).
A first working setup
Clone the repository and pin a release tag.
bashgit clone https://github.com/aeraki-mesh/aeraki.git cd aeraki export AERAKI_TAG=1.4.1Install Aeraki into the cluster.
bashmake installDeploy the demo application to exercise a non-HTTP protocol.
bashmake demoThis runs
bash demo/install-demo.sh default(Makefile:43-44). The Kafka demo ismake demo-kafkaand the bRPC demo ismake demo-brpc(Makefile:49-54).
Verify it works
Check that the Aeraki control plane pod is running:
kubectl get pod -n istio-system -l app=aerakiAeraki's default root namespace is istio-system (cmd/aeraki/main.go:40). Confirm that Aeraki generated EnvoyFilter resources, which carry the manager=aeraki label it reconciles against (internal/envoyfilter/controller.go:135-137):
kubectl get envoyfilter -A -l manager=aerakiWhere to go next
For production concerns such as high availability, the leader-election and replica model is described in the Architecture page. For build-from-source options on Linux and macOS, see make build and make build IMAGE_OS=darwin (README.md:137-141). The official quickstart and install guide cover version matching and tutorials for adding a custom protocol.