outdated is a
kubectl plugin that displays all out-of-date images running in a Kubernetes cluster.
How it Works
The plugin will iterate through readable namespaces, and look for pods. For every pod it can read, the plugin will read the
podspec for the container images, and any
init container images. Additionally, it collects the content sha of the image, so that it can be used to disambiguate between different versions pushed with the same tag.
After collecting a list of images running and deduplicating this list, the plugin will anonymously connect to all required image repositories and request a list of tags. For tags and images that follow strict semver naming, the list is simply sorted and the plugin reports how out of date the running image is.
For images that aren't semver named, the plugin starts to collect tags dates from the manifest and sorts to find any tag that was pushed after the tag that is running.
Note: You will need git to install the
outdated plugin is installed using the
krew plugin manager for Kubernetes CLI. Installation instructions for
krew can be found here.
After installing & configuring the k8s
krew plugin, install
outdated using the following command:
$ kubectl krew install outdated
The plugin will scan for all pods in all namespaces that you have at least read access to. It will then connect to the registry that hosts the image, and (if there's permission), it will analyze your tag to the list of current tags.
Scan all available images in your current
kubecontext with the command:
The output is a list of all images, with the most out-of-date images in red, slightly outdated in yellow, and up-to-date in green.
Find a bug? Want to add a new feature? Want to write docs? Send a pull request & we'll review it!