kubernetes dashboard 介绍
- 是一款开源软件,它提供了界面化视图,让k8s集群管理者,可以通过界面化进行管理k8s集群。比如pod的创建、deployment的创建等等。
- 在kubernetes dashboard 源码编译安装之前,你需要在linux(作者使用虚拟机centos7)上部署一个k8s集群,单机或者多节点均可。简易搭建k8s集群可以参考https://github.com/gjmzj/kubeasz自动化搭建K8S集群。
编译环境前提条件
- Docker,如果前面已经使用脚本搭建完成K8S集群,则机器上会自动存在Doker。
- Golang 1.8+ (可以使用 yum install -y golang 进行安装),kubernetes dashboard 采用angular+go进行开发的,所以需要安装golang来运行go语言环境。
- Node.js 8+ and npm 5。
- 1.可以先去https://npm.taobao.org/mirrors/node进行查看所需要的版本,作者使用的是8.5.0版本。
- 2.下载nodejs:wget -c https://npm.taobao.org/mirrors/node/v8.5.0/node-v8.5.0-linux-x64.tar.xz
- 3.解压tar -xvf node-v8.5.0-linux-x64.tar.xz
- 4.进入node-v8.5.0-linux-x64/bin
- 5.测试
- [root@kubernetes bin]# ./node -v
- v8.5.0
- 6.出现版本号就ok,然后建立软连接到/usr/local/bin
- ln -s 完整目录/node-v8.5.0-linux-x64/bin/npm /usr/local/bin/npm
- ln -s 完整目录/node-v8.5.0-linux-x64/bin/node /usr/local/bin/node
- 7.测试
- [root@kubernetes bin]# node -v
- v8.5.0
- [root@kubernetes bin]# npm -v
- 5.3.0
- JDK
- 作者编译的是kubernetes 1.8.2版本的,最初使用的是jdk1.7最后导致编译报错。最终使用jdk1.8得以解决。
- Gulp.js 3.9+,这个是 一个自动化构建工具, 使用命令npm install --global gulp-cli 进行安装
- 安装完毕执行
- [root@kubernetes source]# gulp -v
- [18:42:54] CLI version 2.0.1
- 发现版本是2.0.1这个先不用管,如果发现命令没有找到,那就去node-v8.5.0-linux-x64/bin目录下找,同样加入软连接即可。
下载源码
- github 地址是https://github.com/kubernetes/dashboard
- 作者本次并未下载head版本,下载的是1.8.2版本,地址是https://github.com/kubernetes/dashboard/archive/v1.8.2.tar.gz
- wget -c https://github.com/kubernetes/dashboard/archive/v1.8.2.tar.gz
- 解压 tar -zvxf v1.8.2.tar.gz
- cd dashboard-1.8.2
- 执行命令 npm i --unsafe-perm,这个命令是下载依赖库,时间较长。
- 执行完毕,在执行
- [root@kubernetes dashboard-1.8.2]# gulp -v
- [18:47:27] Failed to load external module @babel/register
- [18:47:27] Requiring external module babel-register
- [18:47:27] CLI version 2.0.1
- [18:47:27] Local version 3.9.1
- 发现本地版本是3.9.1,全局是2.0.1.
环境已经准备好,开始编译
- 设置一个环境变量
- 可以通过修改/etc/profile文件实现
- 在最后加上export KUBE_DASHBOARD_APISERVER_HOST="http://127.0.0.1:8080"
- 这个是kubernetes 集群 kube-serverapi的地址,请根据实际进行修改
- 修改build/serve.js
- 找到target: conf.frontend.serveHttps
- 将https://localhost:${conf.backend.secureDevServerPort}和http://localhost:${conf.backend.devServerPort}中的localhost修改为127.0.0.1
- 原因是,作者在配置时,如果是localhost,则绑定的127.0.0.1:9090,然后通过其他主机进行访问时ip:9090,访问不到。修改之后即可。
- 执行 gulp build 进行编译源码。该时间较长。
- 编译成功,执行 gulp serve进行启动,该时间作者启动使用了8分钟左右。
- 如果你看到以下界面,那么恭喜你,启动成功了。
- 访问ip:9090进行访问。界面挺漂亮的。
-
- 如果你想在docker中运行,则需要编译打包成镜像
- 使用命令gulp docker-image:head ,head是版本号。过程时间较长
- 通过docker images 可以查询到打包后的镜像。
-
- 镜像运行,可以通过k8s集群进行运行。
- 如果你使用了上面的链接搭建了一个小的集群,则进入目录/etc/ansible/manifests/dashboard
- vi kubernetes-dashboard.yaml
- 将镜像mirrorgooglecontainers/kubernetes-dashboard-amd64:v1.6.3改成本地kubernetes/kubernetes-dashboard-amd64:head
- 并且加上imagePullPolicy: IfNotPresent
-
- 执行命令 kubectl create -f . 进行创建
- 通过kubectl get pod --all-namespaces 查看所有pod
-
- 出现以上则ok,通过地址https://10.13.11.25:6443/api/v1/namespaces/kube-system/services/kubernetes-dashboard/proxy/#!/cluster?namespace=default进行访问
-
修改前端界面
- 源码目录在dashboard-1.8.2/src/app下面
- 其中frontend是前端界面(使用angular开发)
- backend是后端(采用go 、go-restful开发)
- 如果修改前端界面,比如首页,修改完毕之后,则界面F5进行刷新则可以直接看到效果(非Docker容器)
- 接下来作者就要学习angular前端框架了。
注意事项(作者在搭建环境的时候踩了好多雷和坑):
- 具体的就不一一细说了,重要的是前期准备,环境的搭建。
- 一个是jdk版本的问题
- 要注意设置KUBE_DASHBOARD_APISERVER_HOST这个环境变量
- 修改serve.js
- 创建软连接等。
相关推荐
概述 Kubernetes 已然是当下容器编排领域事实上的标准,各大云服务商都急于推出 Kubernetes 服务,互联网公司也... Kubernetes 官方的图形管理界面 Kubernetes Dashboard 面向企业私有化部署的 Rancher 什么是 Kuboard
### Kubernetes Dashboard 部署详解 #### 一、概述 Kubernetes Dashboard 是一款基于 Web 的图形界面工具,用于管理 Kubernetes 集群。通过 Dashboard,用户可以执行多种操作,包括但不限于部署应用程序、管理资源...
2. **跨平台兼容**:Go语言的静态编译特性使得Dashboard可以在多种操作系统上运行,无需依赖额外的运行时环境。 3. **简洁的语法**:Go语言的简洁语法使得代码易于理解和维护,这对于开源项目来说非常重要,因为...
在压缩包中的"dashboard-yaml文件"很可能是Kubernetes Dashboard的部署文件,例如`kubectl apply -f dashboard.yaml`即可在集群中安装Dashboard。这个yaml文件通常包含Dashboard的Deployment、Service和RoleBinding...
│ 17-kubernetes dashboard认证及分级授权.mp4 │ 18-配置网络插件flannel.mp4 │ 19-基于canel的网络策略.mp4 │ 20-调度器、预选策略及优选函数.mp4 │ 21-kubernetes高级调度方式.mp4 │ 22-容器资源需求、资源...
resourceNames: ["kubernetes-dashboard-key-holder", "kubernetes-dashboard-certs"] verbs: ["get", "update", "delete"] # Allow Dashboard to get and update 'kubernetes-dashboard-settings' config map. -...
【Kubernetes Dashboard 知识详解】 Kubernetes Dashboard 是 Kubernetes 集群的一种图形化管理工具,为用户提供了一种直观的 Web 界面,用于管理和监控集群中的应用和服务。它允许管理员和开发人员通过简单的界面...
在本实验中,我们主要探讨了如何使用Kubernetes Dashboard这一可视化管理工具来部署和管理集群资源。Kubernetes Dashboard是Kubernetes官方提供的一款Web界面,它允许用户通过图形化界面进行常见的集群操作,如创建...
它支持多种容器运行时,如Docker,且提供了丰富的API和工具,如Kubernetes Dashboard,以增强用户体验。 压缩包子文件的文件名称列表看似是哈希值,这些可能是资源的元数据或者签名,用于验证下载的文件是否完整...
Kubernetes Dashboard 是一个基于 Web 的图形用户界面(GUI),用于管理和监控 Kubernetes 集群。它提供了对集群资源的直观视图,包括节点、Pods、服务、部署、 ReplicaSets 和 DaemonSets,使得集群操作和故障排查...
数据分析能耗分析系统中心端Dashboard界面HTML+JS+CSS源代码.zip
在使用 `kubernetes-dashboard-v1.8.3.yaml` 文件时,首先需要确保你的 Kubernetes 集群已经安装并运行正常,且你有相应的权限来操作集群。然后,执行以下步骤: 1. **下载 YAML 文件**:获取 `kubernetes-...
kubernetes-dashboard-amd64-v1.10.0镜像,docker load -i kubernetes-dashboard-amd64-v1.10.0.tgz
1. `dashboard.tar`:这可能是Kubernetes Dashboard应用的二进制文件或配置文件的打包,解压后可能包含Dashboard的容器镜像或者其他运行时所需的配置文件。 2. `kubernetes-dashboard.yaml`:这是一个YAML文件,它是...
基于GitLab+Docker+K8S的持续集成和交付 此文档主要说明怎样基于GitLab进行持续集成和持续交付,该持续集成与交付集成了gitlab-runner 、mvnw、Docker、harbor、k8s等技术,同时展示了在k8s平台利用EFK(elastic...
kubernetes-dashboard-amd64-v1.8.3镜像包,由于国外镜像无法下载,可以用这个包load到本地镜像,再上传到你的私有仓库,实现离线部署安装dashboard。解压后有操作命令
配置DNS通常涉及到创建一个Deployment和Service的YAML文件,比如`dns.yaml`,该文件定义了DNS Pod的运行方式、它们如何暴露为服务,以及如何与其他Kubernetes资源交互。 `config.json`可能包含集群的配置信息,如...