Kubernetes Installation with Vagrant & CoreOS and insecure Docker registry

6/23/2016

I have followed the steps at https://coreos.com/kubernetes/docs/latest/kubernetes-on-vagrant.html to launch a multi-node Kubernetes cluster using Vagrant and CoreOS.

But,I could not find a way to set an insecure docker registry for that environment. To be more specific, when I run

kubectl run api4docker --image=myhost:5000/api4docker:latest --replicas=2 --port=8080

on this set up, it tries to get the image thinking it is a secure registry. But, it is an insecure one.

I appreciate any suggestions.

-- turgos
coreos
kubernetes
vagrant

1 Answer

6/24/2016

This is how I solved the issue for now. I will add later if I can automate it on Vagrantfile.

cd ./coreos-kubernetes/multi-node/vagrant

vagrant ssh w1 (and repeat these steps for w2, w3, etc.)

cd /etc/systemd/system/docker.service.d

sudo vi 50-insecure-registry.conf

add below line to this file

[Service]
Environment=DOCKER_OPTS='--insecure-registry="<your-registry-host>/24"'

after adding this file, we need to restart the docker service on this worker.

sudo systemctl stop docker
sudo systemctl daemon-reload
sudo systemctl start docker
sudo systemctl status docker

now, docker pull should work on this worker.

docker pull <your-registry-host>:5000/api4docker

Let's try to deploy our application on Kubernetes cluster one more time.

Logout from the workers and come back to your host.

$ kubectl run api4docker --image=<your-registry-host>:5000/api4docker:latest --replicas=2 --port=8080 —env="SPRING_PROFILES_ACTIVE=production"

when you get the pods, you should see the status running.

$ kubectl get pods

NAME                          READY     STATUS    RESTARTS   AGE
api4docker-2839975483-9muv5   1/1       Running   0          8s
api4docker-2839975483-lbiny   1/1       Running   0          8s
-- turgos
Source: StackOverflow