1 概述
1.1 环境
软件版本信息如下:
a、操作系统: centos 7.6,amd64
b、kubernetes dashboard版本: v2.3.1
c、kubernetes版本: v1.15.4
d、服务器docker版本:v18.09.2
e、nodejs版本: v14.16.1
f、npm版本:6.14.12
g、go版本: 1.16.6
2 安装依赖
2.1 安装go环境
略,请参考百度。
2.2 安装docker和kubernetes环境
略,请参考百度。
2.3 安装nodejs和npm
wget https://npm.taobao.org/mirrors/node/v14.16.1/node-v14.16.1-linux-x64.tar.xz
tar xf node-v14.16.1-linux-x64.tar.xz -C /usr/local/
cd /usr/local/
rm -f node
ln -s node-v14.16.1-linux-x64 node
echo "export PATH=$PATH:/usr/local/node/bin" >> /etc/profile
source /etc/profile
node -v
npm -v
npm install -g cnpm --registry=https://registry.npm.taobao.org
cnpm install -g gulp
gulp -version
3 下载kubernetes dashboard源码
将github上的dashboard源码下载至/opt目录,切换分支为v2.3.1。
cd /opt
git clone https://github.com/kubernetes/dashboard.git
cd dashboard
git checkout tags/v2.3.1 -b v2.3.1
4 启动kubernetes dashboard前端
cd /opt/dashboard
npm install --registry=https://registry.npm.taobao.org --unsafe-perm --allow-root
npm run start:frontend
由于8080端口已被其他服务使用,dashboard前端随机选择一个端口来监听,这里是端口38245。
5 启动kubernetes dashboard后端
使用goland打开dashboard项目,debug命令行参数中填写kubeconfig文件的路径,这里是
--kubeconfig=/root/.kube/config
点击调试按钮即可:
6 浏览器访问dashboard前端
输入前端地址和端口即可,在本文例子中是在浏览器地址栏输入:http://127.0.0.1:38245
在dashboard/app/src/backend/handler/terminal.go文件的296行中打一个断点,在浏览器中选择一个容器进入,可见goland打印出相关的变量并停留在296行。
7 总结:
kubernetes dashboard前后端都是比较简单的项目,掌握了调试方法就能按需求进行二次开发。