Mar*_*lly 6 macos virtualbox vagrant kubernetes
这是我第一次尝试安装和使用Kubernetes.我正在尝试在Mac上安装一个环境来开发我自己的应用程序并将它们部署在Kubernetes本地进行测试.我熟悉使用Vagrant,VirtualBox和Docker用于同样的目的.当我看到这个页面时https://github.com/GoogleCloudPlatform/kubernetes/blob/master/docs/getting-started-guides/vagrant.md我认为这将是微不足道的.我执行了这些行:
export KUBERNETES_PROVIDER=vagrant
curl -sS https://get.k8s.io | bash
Run Code Online (Sandbox Code Playgroud)
这创建了一个主VM和一个Minion,但是Kubernetes似乎未能在master上启动.在master/var/log/salt/master上有很多python Traceback错误,如下所示:
2015-07-17 22:14:42,629 [cherrypy.error ][INFO ][3252] [17/Jul/2015:22:14:42] ENGINE Started monitor thread '_TimeoutMonitor'.
2015-07-17 22:14:42,736 [cherrypy.error ][ERROR ][3252] [17/Jul/2015:22:14:42] ENGINE Error in HTTP server: shutting down
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/cherrypy/process/servers.py", line 187, in _start_http_thread
self.httpserver.start()
File "/usr/lib/python2.7/site-packages/cherrypy/wsgiserver/wsgiserver2.py", line 1824, in start
raise socket.error(msg)
error: No socket could be created
Run Code Online (Sandbox Code Playgroud)
Vagrant是版本1.7.3.VirtualBox是版本4.3.30
我犯了一个明显的愚蠢错误吗?
小智 1
我还不知道解决办法,但我知道出了什么问题,因为它也发生在我身上:
当我运行它的默认配置(创建一个“master”和一个“minion”VM)时,我看到静态 IP 地址没有分配给“eth1”接口,而且我还看到 Salt API 服务器是似乎处于无限重试循环中,因为它正在尝试侦听该 IP 地址。
此外,在启动过程中出现以下消息:
[vagrant@kubernetes-master ~]$ dmesg | grep eth1
[ 9.321496] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready
Run Code Online (Sandbox Code Playgroud)
所以基本上,静态 IP 地址没有被分配,因为系统第一次启动时 eth1 还没有准备好,而 Salt 正在等待它被分配。
我可以在启动后通过使用“vagrant ssh”连接到盒子并运行以下命令来修复此问题:
sudo /etc/init.d/network restart
Run Code Online (Sandbox Code Playgroud)
在每个主机上。
这通过分配静态IP地址来“修复”eth1,之后Salt开始做它的事情,安装Docker,启动各种容器,等等。
我不知道的是如何在没有人工干预的情况下每次都能完成这项工作。这似乎是 Vagrant 和 VirtualBox 之间的某种竞争条件。
归档时间: |
|
查看次数: |
3741 次 |
最近记录: |