aerial icon indicating copy to clipboard operation
aerial copied to clipboard

Combination of Cilium Golang Envoy Filter and TCP tunnel to build Visual Studio Bridge To Kubernetes.

Aerial

Combination of Cilium Golang Envoy Filter and TCP tunnel to build Visual Studio Bridge To Kubernetes.

example/overview.png

Why rebuild Bridge To Kubernetes?

The current version of Bridge To Kubernetes has some limitations, for example:

  1. Can't have multiple pods behind a k8s service.
  2. Can't have multiple container in a pod.
  3. Can't have TLS between pods.

And these limitations can solved by the help of CNI.

Full slides: https://speakerdeck.com/rueian/ciliums-envoy-filter-and-vs-bridge-to-kubernetes

Example Setup

Prepare

  • gcloud cli
  • helm cli
# build tunnel client binary
make

# create the example GKE cluster
export GCP_PROJECT=your-project
./example/gke.sh

# apply example services
kubectl apply -f example/kube.yaml

# make tunnel server accessible from local
kubectl port-forward svc/aerial-tunnel 8080

# redirect http /v1 traffic into service-c from cluster to local 9090 port
./bin/aerial link \
    --addr 127.0.0.1:8080 \
    --bind 127.0.0.1:9090 \
    --svc service-c:80 --param PathRegex=/v1