colima
colima copied to clipboard
Version of traefik bundled with colima is sluggish with high latency
Describe the Issue
Using the bundled traefik ingress controller, paths routed via ingress resources are very slow, taking several seconds to process, even if done immediately after another request. This appears to be an issue from traefik's issue queue which has been fixed since the version bundled by Rancher.
Version
Racher's image: rancher/mirrored-library-traefik:2.6.2 Fixed upstream: traefik:267
Colima Version:
What is the output of colima version
$ colima version
colima version 0.4.2
git commit: f112f336d05926d62eb6134ee3d00f206560493b
runtime: docker
arch: x86_64
client: v20.10.16
server: v20.10.11
kubernetes
Client Version: v1.24.1
Kustomize Version: v4.5.4
Server Version: v1.23.6+k3s1
Lima Version:
What is the output of limactl --version
limactl version 0.11.0 (on host; not in path on colima's virtual).
Qemu Version
What is the output of qemu-img --version
qemu-img version 7.0.0
Copyright (c) 2003-2022 Fabrice Bellard and the QEMU Project developers
Operating System
- [ x] macOS Intel
- [ ] macOS m1
- [ ] Linux
To Reproduce
Steps to reproduce the behavior:
colima start -e- Make sure k8s and ingress are true, to install ingress.
- Modify the supplied manifest (slow-ingress-controller-yaml.txt ), and alias 127.0.0.1 in /etc/hosts to match the ingress definition.
- Create a deployment, service and ingress resource from the edited manifest.
- Go to the aliased host name from the manifest. Check how long it takes for a response.
- Do a hard reload in the browser, to see how long it takes.
- If you observe the issue, first response will take a few seconds, but so will subsequent tries. Response time does not improve.
Expected behavior
Response time will be fast, even if there is some latency on the initial pull of the URI.
Additional context
At the suggestion of the Traefik developers, I modified /var/lib/rancher/k3s/server/manifests/ingress.yaml to use the latest docker image of the traefik ingress controller. This worked.