使用 Vagrant & CoreOS 和不安全的 Docker 注册表安装 Kubernetes

Kubernetes Installation with Vagrant & CoreOS and insecure Docker registry

我已按照 https://coreos.com/kubernetes/docs/latest/kubernetes-on-vagrant.html 中的步骤使用 Vagrant 和 CoreOS 启动多节点 Kubernetes 集群。

但是,我找不到为该环境设置不安全 docker 注册表的方法。 更具体地说,当我 运行

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

在这个设置中,它试图让图像认为它是一个安全的注册表。但是,这是一个不安全的。

我很感激任何建议。

这就是我暂时解决问题的方法。如果我可以在 Vagrantfile 上自动化它,我会在稍后添加。

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

vagrant ssh w1(并对 w2、w3 等重复这些步骤)

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

sudo vi 50-insecure-registry.conf

在该文件中添加以下行

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

添加此文件后,我们需要重新启动此 worker 上的 docker 服务。

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

现在,docker pull 应该对这个 worker 有效。

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

让我们再尝试一次在 Kubernetes 集群上部署我们的应用程序。

从 workers 注销并返回到您的主机。

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

当您获得 pods 时,您应该会看到状态 运行。

$ kubectl get pods

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