我已按照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
在这个设置上,它试图让图像认为它是一个安全的注册表。但是,这是一个不安全的。
我感谢任何建议。
答案 0 :(得分:0)
这就是我现在解决这个问题的方法。如果我可以在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集群上部署我们的应用程序。
退出工作人员并回到主人那里。
$ kubectl run api4docker --image=<your-registry-host>:5000/api4docker:latest --replicas=2 --port=8080 —env="SPRING_PROFILES_ACTIVE=production"
当您获得pod时,您应该看到状态正在运行。
$ kubectl get pods
NAME READY STATUS RESTARTS AGE
api4docker-2839975483-9muv5 1/1 Running 0 8s
api4docker-2839975483-lbiny 1/1 Running 0 8s