Open psarossy opened 3 years ago
Hi @psarossy. That doesn't sound normal or expected.
Could you provide an example of one of the specific images (if public)? To help debug this, it would be really useful if you are able to share one slow image name/tag that you are running.
Outdated may have to make a several requests to the registry to find the number of tags "out of date". I can think of a few reasons this might get slow, but I'd be happy to debug the network requests from one of your public images, in order to start narrowing it down.
Sure, here's the log from a fresh run. They are pretty common/widely used images...
$ time kubectl outdated [17:40:23]
Image Current Latest Behind
index.docker.io/adguard/adguardhome latest latest 2
index.docker.io/linuxserver/nzbget latest latest 6
index.docker.io/linuxserver/radarr latest latest 0
index.docker.io/linuxserver/sonarr preview Unable to get image data
index.docker.io/linuxserver/transmission latest Unable to get image data
index.docker.io/bitwardenrs/server latest Unable to get image data
index.docker.io/ottomated/crewlink-server latest Unable to get image data
index.docker.io/saspus/duplicacy-web latest Unable to get image data
index.docker.io/f0rc3/barcodebuddy-docker latest Unable to get image data
ghcr.io/linuxserver/grocy latest Unable to get image data
index.docker.io/homeassistant/home-assistant stable Unable to get image data
index.docker.io/homeassistant/home-assistant stable Unable to get image data
index.docker.io/library/mariadb 10.5.8 Unable to get image data
index.docker.io/thomseddon/traefik-forward-auth2 Unable to get image data
index.docker.io/marthoc/homeseer latest Unable to get image data
index.docker.io/calico/kube-controllers v3.16.5 Unable to get image data
index.docker.io/calico/cni v3.16.5 Unable to get image data
index.docker.io/calico/pod2daemon-flexvol v3.16.5 Unable to get image data
index.docker.io/calico/node v3.16.5 Unable to get image data
k8s.gcr.io/library/coredns 1.7.0 Unable to get image data
k8s.gcr.io/library/etcd 3.4.13-0 Unable to get image data
index.docker.io/library/haproxy 2.1.4 Unable to get image data
index.docker.io/herbrandson/k8dash latest Unable to get image data
index.docker.io/osixia/keepalived 1.3.5-1 Unable to get image data
k8s.gcr.io/library/kube-apiserver v1.19.6 Unable to get image data
k8s.gcr.io/library/kube-controller-manager v1.19.6 Unable to get image data
index.docker.io/nfvpe/multus stable Unable to get image data
k8s.gcr.io/library/kube-proxy v1.19.6 Unable to get image data
k8s.gcr.io/library/kube-scheduler v1.19.6 Unable to get image data
k8s.gcr.io/metrics-server/metrics-server v0.3.7 Unable to get image data
index.docker.io/nvidia/k8s-device-plugin v0.7.1 Unable to get image data
index.docker.io/library/traefik 2.2.1 Unable to get image data
index.docker.io/containous/whoami latest Unable to get image data
index.docker.io/kubernetesui/metrics-scraper v1.0.4 Unable to get image data
index.docker.io/kubernetesui/dashboard v2.0.0 Unable to get image data
index.docker.io/kubevirt/virt-api sha256:4d778f63d2f5ecb61d4f6fe8b5ead010836d46d7... Unable to get image data
index.docker.io/library/sha256 b77437d649aacb6f731475d9545ab83d6b083653f8c94a3... Unable to get image data
index.docker.io/library/sha256 431713e785215224d48ca265183d4afa098f13bde25f035... Unable to get image data
index.docker.io/library/sha256 8e2d63c20706fbeb13ca24c27ed3d07b197ed54d4024726... Unable to get image data
index.docker.io/metallb/controller v0.9.3 Unable to get image data
index.docker.io/metallb/speaker v0.9.3 Unable to get image data
index.docker.io/psarossy/docker-bloomsky latest Unable to get image data
index.docker.io/psarossy/btmon-influx latest Unable to get image data
index.docker.io/library/chronograf 1.8 Unable to get image data
index.docker.io/grafana/grafana 7.1.5 Unable to get image data
index.docker.io/library/influxdb 1.8 Unable to get image data
index.docker.io/library/telegraf 1.5.2 Unable to get image data
index.docker.io/golift/unifi-poller stable Unable to get image data
index.docker.io/vernemq/vernemq 1.10.3-alpine Unable to get image data
ghcr.io/linuxserver/nextcloud latest Unable to get image data
index.docker.io/nodered/node-red latest Unable to get image data
index.docker.io/octoprint/octoprint 1.4.2 Unable to get image data
index.docker.io/owntracks/recorder latest Unable to get image data
index.docker.io/linuxserver/papermerge latest Unable to get image data
index.docker.io/photoprism/photoprism latest Unable to get image data
index.docker.io/linuxserver/ombi latest Unable to get image data
index.docker.io/linuxserver/plex latest Unable to get image data
index.docker.io/linuxserver/tautulli latest Unable to get image data
index.docker.io/linuxserver/resilio-sync latest Unable to get image data
quay.io/cephcsi/cephcsi v2.1.2 Unable to get image data
quay.io/k8scsi/csi-node-driver-registrar v1.2.0 Unable to get image data
quay.io/k8scsi/csi-attacher v2.1.0 Unable to get image data
quay.io/k8scsi/csi-provisioner v1.4.0 Unable to get image data
quay.io/k8scsi/csi-resizer v0.4.0 Unable to get image data
quay.io/k8scsi/csi-snapshotter v1.2.2 Unable to get image data
index.docker.io/ceph/ceph v14.2.9 Unable to get image data
index.docker.io/ceph/ceph v14.2.9 Unable to get image data
index.docker.io/ceph/ceph v14.2.9 Unable to get image data
index.docker.io/rook/ceph v1.3.11 Unable to get image data
index.docker.io/rook/ceph v1.3.1 Unable to get image data
index.docker.io/rook/ceph master Unable to get image data
index.docker.io/dperson/samba latest Unable to get image data
index.docker.io/library/mysql 5 Unable to get image data
index.docker.io/library/busybox latest Unable to get image data
index.docker.io/linuxserver/snipe-it latest Unable to get image data
ghcr.io/linuxserver/code-server latest Unable to get image data
kubectl outdated 12.33s user 3.29s system 5% cpu 5:00.98 total
I've reproduced this, and it seems that we are pulling each tag separately to get the dates from the manifest of the tag. For non-semver tags, we do this to figure out the sort order.
Maybe we can change the product a little so instead of showing the number of releases behind, we show that you are behind and the latest release. Once we find 3 or 5 releases between the 2, we can show the output as red, and say something like "5+ releases behind" instead of counting each
+1 still seeing this
In the demo video it seems that this tool supposed to be able to fetch the latest/behind data in seconds per image. On my cluster, it takes minutes per image, and since I have like 50 different images, after like 3-4 of them it also just times out and says "Unable to get image data" and exist...
I'm using a mix of docker.io, quay.io, ghcr.io and gcr.io
Any hints on whether I'm doing something incorrectly or if this is normal?