kubectl run-ing a tarball'd image

9/28/2017

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?

-- adelbertc
docker
kubectl
kubernetes

1 Answer

9/29/2017

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.

-- Janos Lenart
Source: StackOverflow