Quick Start

This page helps you quickly get started with Merbridge.

Prerequisites

  1. Use kernel 5.7 or a higher version. Check your version with uname -r.
  2. Activate cgroup2 in your system. Check the status with mount | grep cgroup2.

Installation

Merbridge can be installed on Istio and Linkerd2 only.

Install on Istio

Apply the following command to install Merbridge:

kubectl apply -f https://raw.githubusercontent.com/merbridge/merbridge/main/deploy/all-in-one.yaml

Install on Linkerd2

Apply the following command to install Merbridge:

kubectl apply -f https://raw.githubusercontent.com/merbridge/merbridge/main/deploy/all-in-one-linkerd.yaml

Install on Kuma

Apply the following command to install Merbridge:

kubectl apply -f https://raw.githubusercontent.com/merbridge/merbridge/main/deploy/all-in-one-kuma.yaml

Verification

Verify installation

Before you start this verification, make sure all Pods relevant to Merbridge are running well. You can check Pod status in Istio with the following command:

kubectl -n istio-system get pods

If all these Pods are Running, it means Merbridge is successfully installed.

Verify connection

Use the following methods to check the connectivity of Merbridge:

Install sleep and helloworld and wait for a full start

kubectl label ns default istio-injection=enabled
kubectl apply -f https://raw.githubusercontent.com/istio/istio/master/samples/sleep/sleep.yaml
kubectl apply -f https://raw.githubusercontent.com/istio/istio/master/samples/helloworld/helloworld.yaml

Conduct curl test

kubectl exec $(kubectl get po -l app=sleep -o=jsonpath='{..metadata.name}') -c sleep -- curl -s -v helloworld:5000/hello

If you see words like * Connected to helloworld (127.128.0.1) port 5000 (#0) in the output, it means Merbridge has managed to replace iptables with eBPF for traffic forwarding.

Last modified January 5, 2024 : Clean up docs (#43) (7757615)