-
Notifications
You must be signed in to change notification settings - Fork 5k
krunkit: Disable offloading for faster networking #21341
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
Skipping CI for Draft Pull Request. |
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: nirs The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
5d171f8
to
dfb2dfd
Compare
Newer krunkit allows disabling offloading for faster networking. Keep the Offloading option in case offloading is improved in future versions. Testing shows 6.7 times faster network performance, and 9p mount is 3 times faster. Starting cluster: % minikube start --driver krunkit --container-runtime containerd 😄 minikube v1.36.0 on Darwin 15.6 (arm64) ✨ Using the krunkit (experimental) driver based on user configuration 👍 Starting "minikube" primary control-plane node in "minikube" cluster 🔥 Creating krunkit VM (CPUs=2, Memory=6144MB, Disk=20000MB) ... 📦 Preparing Kubernetes v1.33.2 on containerd 1.7.23 ... 🔗 Configuring bridge CNI (Container Networking Interface) ... 🔎 Verifying Kubernetes components... ▪ Using image gcr.io/k8s-minikube/storage-provisioner:v5 🌟 Enabled addons: default-storageclass, storage-provisioner 🏄 Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default Testing iperf3: % kubectl apply -f iper3-server.yaml deployment.apps/iperf3 created service/iperf3 created % kubectl get deploy iperf3 NAME READY UP-TO-DATE AVAILABLE AGE iperf3 1/1 1 1 9s % kubectl get service iperf3 NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE iperf3 NodePort 10.105.127.180 <none> 5201:30201/TCP 17s % iperf3 -c $(minikube ip) -p 30201 Connecting to host 192.168.105.10, port 30201 [ 5] local 192.168.105.1 port 50630 connected to 192.168.105.10 port 30201 [ ID] Interval Transfer Bitrate [ 5] 0.00-1.00 sec 1.05 GBytes 9.03 Gbits/sec [ 5] 1.00-2.01 sec 1.09 GBytes 9.29 Gbits/sec [ 5] 2.01-3.01 sec 1.06 GBytes 9.09 Gbits/sec [ 5] 3.01-4.00 sec 1.08 GBytes 9.33 Gbits/sec [ 5] 4.00-5.00 sec 1.08 GBytes 9.31 Gbits/sec [ 5] 5.00-6.00 sec 1.07 GBytes 9.23 Gbits/sec [ 5] 6.00-7.00 sec 1.09 GBytes 9.35 Gbits/sec [ 5] 7.00-8.01 sec 1.08 GBytes 9.20 Gbits/sec [ 5] 8.01-9.00 sec 1.07 GBytes 9.18 Gbits/sec [ 5] 9.00-10.01 sec 1.08 GBytes 9.28 Gbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate [ 5] 0.00-10.01 sec 10.7 GBytes 9.23 Gbits/sec sender [ 5] 0.00-10.01 sec 10.7 GBytes 9.23 Gbits/sec receiver Testing 9p mount: % minikube mount ~/models:/mnt/models 📁 Mounting host path /Users/nir/models into VM as /mnt/models ... ▪ Mount type: 9p ▪ User ID: docker ▪ Group ID: docker ▪ Version: 9p2000.L ▪ Message Size: 262144 ▪ Options: map[] ▪ Bind Address: 192.168.105.1:50614 🚀 Userspace file server: ufs starting ✅ Successfully mounted /Users/nir/models to /mnt/models 📌 NOTE: This process must stay alive for the mount to be accessible ... $ time cat /mnt/models/DeepSeek-R1-0528-Qwen3-8B-Q4_K_M.gguf >/dev/null real 0m10.219s user 0m0.007s sys 0m0.263s Requires krunkit PR: containers/krunkit#63 And installing local libkrun-efi from main.
dfb2dfd
to
390e6a1
Compare
Newer krunkit allows disabling offloading for faster networking. Keep the Offloading option in case offloading is improved in future versions.
Testing shows 6.7 times faster network performance, and 9p mount is 3 times faster.
Starting cluster:
Testing iperf3:
Testing 9p mount:
Requires krunkit PR:
containers/krunkit#63
And installing local libkrun-efi from main.
Status