Skip to content

About

Hands-on demo showcasing Kubernetes QoS while a Cat is dancing!

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

Calico QoS Demo: HLS Bandwidth Management

This project demonstrates an small part of Quality of Service (QoS), bandwidth limiting in Kubernetes using Calico's native traffic control features.

Demo is built around HLS (HTTP Live Streaming) video delivery as a real-world use case to visualize how network constraints affect application performance.

Prerequisites

Note: This demo uses Kind Cloud Provider to run, this is due to the demo app requiring an external IP to run.


Step-by-Step Setup

Step 1: Create Kubernetes Cluster

kind create cluster --config - <<EOF
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
networking:
  # Disable default CNI so Calico can manage networking
  disableDefaultCNI: true
nodes:
- role: control-plane
- role: worker
- role: worker
EOF

Step 2: Install Tigera Operator

kubectl create -f https://docs.tigera.io/calico/latest/manifests/tigera-operator.yaml

Step 3: Configure Calico Installation

kubectl create -f -<<EOF
apiVersion: operator.tigera.io/v1
kind: Installation
metadata:
  name: default
spec:
  # Configures Calico networking.
  calicoNetwork:
    bgp: Disabled
    ipPools:
      - name: default-ipv4-ippool
        blockSize: 26
        cidr: 10.244.0.0/16
        encapsulation: VXLAN
        natOutgoing: Enabled
        nodeSelector: all()
  kubeletVolumePluginPath: None
EOF

Step 3.1: Check Calico Installation

watch kubectl get tigerastatus

Step 4: Install The Demo Application

kubectl create -f manifests/

Now that you have everything up and running, point your browser to the service external-IP and follow the QOS directive on the page.

Troubleshooting

Make sure your cluster can acquire ExternalIP for Loadbalancer services, and then restart the pods.

panic: No Ingress found for streama service

goroutine 1 [running]:
main.main()
	/app/main.go:99 +0x700

Credits

About

Hands-on demo showcasing Kubernetes QoS while a Cat is dancing!

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages