使用 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
我已按照 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