I am trying to run a Nix-built Docker image in tarball form. With docker, docker load -i <path>
followed by a docker run
works fine. Now I've uploaded the tarball to Artifactory and am trying to run the image on K8s with something like:
$ kubectl run foo-service --image=<internal Artifactory>/foo-service/foo-service-latest.tar.gz
However all I see is:
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
foo-service 1 1 1 0 2h
Is it possible to load an image from a (remote) tarball in K8s? If yes, what is the command to do so?
There is no way to do that directly in Kubernetes.
You can do docker load
and then docker push
to a registry (you can host a private registry in Kubernetes or use a public one) and after that kubectl run
.
Minikube also has a registry addon for local development.