dashboard是kubernetes的云管平台UI界面,正常情况下,其是在linux下开发的,但是,有些特殊情况下,我们也可能希望在windows上搭建起dashboard的开发环境
这里我们将搭建的开发环境的结构如下:
windows上只运行前端,将后端和kubernetes放在服务器上,目前发现这样做的好处是,对windows的配置要求低,不用再在开发机上跑kubernetes和backend。坏处是不能在开发机上运行带 :prod
的构建脚本,也就是生产环境构建脚本。总之,最好还是在linux上开发,特殊情况下,也可以迁移到windows下开发,迁移过程中,要对构建脚本做一些修改。
搭建后端环境
首先登录到你的ubuntu服务器,然后按照下面的教程在ubuntu上执行命令
安装项目环境
第一次运行,请先安装项目环境
启动docker服务
sudo service docker start
启动kubernetes集群
sudo gulp local-up-cluster
默认情况下,这将启动一个只能本地访问的kubernetes集群,如果你想要能够远程访问Kubernetss API Server,你可以使用:
curl https://raw.githubusercontent.com/fest-research/iot-addon/master/assets/hyperkube/hyperkube.sh | sudo sh
代替sudo gulp local-up-cluster
。
参考:the api server can’t access remotely
让后端允许所有的HTTP连接
默认情况下,后端是只允许本地http连接的,我们需要修改成允许所有的http连接
cd ~/dashboard
vi src/app/backend/dashboard.go
把:
argInsecureBindAddress = pflag.IP("insecure-bind-address", net.IPv4(127, 0, 0, 1), "The IP address on which to serve the --port (set to 0.0.0.0 for all interfaces).")
改成:
argInsecureBindAddress = pflag.IP("insecure-bind-address", net.IPv4(0, 0, 0, 0), "The IP address on which to serve the --port (set to 0.0.0.0 for all interfaces).")
启动后端服务
sudo "PATH=$PATH" gulp serve
注意运行后不要关闭掉终端。
搭建后端环境可能会遇到的问题
运行gulp local-up-cluster
一直waitting for a heapster...
解决办法:
打开build/conf.js文件,将:
heapsterServerHost: gulpUtil.env.heapsterServerHost !== undefined ? gulpUtil.env.heapsterServerHost : '',
改成:
heapsterServerHost: gulpUtil.env.heapsterServerHost !== undefined ? gulpUtil.env.heapsterServerHost : '127.0.0.1:8082',
找不到go路径
报错信息如下:
Error: Go is not on the path. Please pass the PATH variable when you run the gulp task with "PATH=$PATH" or install go if you have not yet.
解决办法:
首先,要确定你已经安装了go,运行:
go version
如果有返回go的版本,则安装成功了,否则,先安装go.
如果go确实已经安