网站首页 > 博客文章 正文
Kuboard是一款开源的 Kubernetes 多集群管理和运维平台,提供了可视化的界面和丰富的功能,帮助用户更便捷地管理和监控 Kubernetes 集群。
它适用于单个 Kubernetes 集群、多个 Kubernetes 集群,甚至可以管理不同云厂商或私有数据中心中的 Kubernetes 集群。以下是Kuboard的一些主要特点和功能:
- 可视化仪表盘:Kuboard提供直观的仪表盘,展示集群状态、资源使用情况和运行状况。
- 多集群管理:Kuboard支持管理多个 Kubernetes 集群,用户可以在一个平台上管理和监控多个集群。
- 命名空间管理:Kuboard允许用户创建和管理命名空间,帮助将集群资源进行隔离和管理。
- Pod和Deployment管理:Kuboard提供了简单的界面来管理Pod和Deployment,用户可以方便地进行伸缩、更新和删除等操作。
- 服务和域名管理:Kuboard支持服务和域名的管理,使得用户可以更方便地访问应用程序。
- 日志和事件监控:Kuboard提供了日志和事件监控功能,帮助用户快速发现和排查问题。
- 应用商店:Kuboard内置了应用商店,用户可以从中选择和安装常用的应用程序。
- 权限管理:Kuboard支持基于RBAC的权限管理,使得用户可以按需分配不同角色的权限。
- 命令行终端:Kuboard提供了命令行终端,允许用户直接在浏览器中执行命令。
安装方式:
- Docker安装:
docker run -d \
--restart=unless-stopped \
--name=kuboard \
-p 80:80/tcp \
-p 10081:10081/tcp \
-e KUBOARD_ENDPOINT="http://192.168.1.14:80" \
-e KUBOARD_AGENT_SERVER_TCP_PORT="10081" \
-v /root/kuboard-data:/data \
swr.cn-east-2.myhuaweicloud.com/kuboard/kuboard:v3
注意:
- KUBOARD_ENDPOINT 参数的作用是,让部署到 Kubernetes 中的 kuboard-agent 知道如何访问 Kuboard Server;
- KUBOARD_ENDPOINT 中也可以使用外网 IP;
- Kuboard 不需要和 K8S 在同一个网段,Kuboard Agent 甚至可以通过代理访问 Kuboard Server;
- 建议在 KUBOARD_ENDPOINT 中使用域名;
- 如果使用域名,必须能够通过 DNS 正确解析到该域名,如果直接在宿主机配置 /etc/hosts 文件,将不能正常运行;
参数解释:
- 建议将此命令保存为一个 shell 脚本,例如 start-kuboard.sh,后续升级 Kuboard 或恢复 Kuboard 时,需要通过此命令了解到最初安装 Kuboard 时所使用的参数;
- 第 4 行,将 Kuboard Web 端口 80 映射到宿主机的 80 端口(您可以根据自己的情况选择宿主机的其他端口);
- 第 5 行,将 Kuboard Agent Server 的端口 10081/tcp 映射到宿主机的 10081 端口(您可以根据自己的情况选择宿主机的其他端口);
- 第 6 行,指定 KUBOARD_ENDPOINT 为 http://内网IP,如果后续修改此参数,需要将已导入的 Kubernetes 集群从 Kuboard 中删除,再重新导入;
- 第 7 行,指定 KUBOARD_AGENT_SERVER 的端口为 10081,此参数与第 5 行中的宿主机端口应保持一致,修改此参数不会改变容器内监听的端口 10081,例如,如果第 5 行为 -p 30081:10081/tcp 则第 7 行应该修改为 -e KUBOARD_AGENT_SERVER_TCP_PORT="30081";
- 第 8 行,将持久化数据 /data 目录映射到宿主机的 /root/kuboard-data 路径,请根据您自己的情况调整宿主机路径;
其他参数:
- 在启动命令行中增加环境变量 KUBOARD_ADMIN_DERAULT_PASSWORD,可以设置admin用户的初始默认密码。
http://192.168.1.14:80 admin/Kuboard123
- 在k8s安装上安装:
kubectl apply -f https://addons.kuboard.cn/kuboard/kuboard-v3.yaml
docker pull eipwork/kuboard-agent:v3
docker pull eipwork/etcd-host:3.4.16-1
docker pull eipwork/kuboard:v3
docker pull questdb/questdb:6.0.4
watch kubectl get pods -n kuboard
常见错误:
CrashLoopBackOff:
- kuboard-v3-xxxxx 的容器出现 CrashLoopBackOff 的状态,可能的原因有:
- 缺少 kuboard-etcd-xxxx 容器,请查看本章节后面关于 缺少 Master Role 的描述;
- kuboard-etcd-xxxx 容器未就绪,请查看 kuboard-etcd-xxxx 容器的日志,解决其不能启动的问题;
- kuboard-agent-xxxxx 出现 CrashLoopBackOff 的状态,可能的原因有:
- 其依赖的 kuboard-v3 尚未就绪,请耐心等候一会儿即可(根据您的服务器下载镜像速度的不同,大约 3-5 分钟);
- kuboard-v3 已经处于 READY (1/1)状态,但是集群的网络插件配置错误或者其他的网络因素,导致 kuboard-agent 的容器不能访问到 kuboard-v3 的容器;
缺少 Master Role:
可能缺少 Master Role 的情况有:
当您在 阿里云、腾讯云(以及其他云)托管 的 K8S 集群中以此方式安装 Kuboard 时,您执行 kubectl get nodes 将 看不到 master 节点;
当您的集群是通过二进制方式安装时,您的集群中可能缺少 Master Role,或者当您删除了 Master 节点的 node-role.kubernetes.io/master= 标签时,此时执行 kubectl get nodes,结果如下所示:
[root@k8s-19-master-01 ~]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
k8s-19-master-01 Ready <none> 19d v1.19.11
k8s-19-node-01 Ready <none> 19d v1.19.11
k8s-19-node-02 Ready <none> 19d v1.19.11
k8s-19-node-03 Ready <none> 19d v1.19.11
在集群中缺少 Master Role 节点时,您也可以为一个或者三个 worker 节点添加 k8s.kuboard.cn/role=etcd 的标签,来增加 kuboard-etcd 的实例数量;
执行如下指令,可以为 your-node-name 节点添加所需要的标签
kubectl label nodes your-node-name k8s.kuboard.cn/role=etcd
etcd
Kuboard V3 依赖于 etcd 提供数据的持久化服务,在当前的安装方式下,kuboard-etcd 的存储卷被映射到宿主机节点的 hostPath (/usr/share/kuboard/etcd 目录);
为了确保每次重启,etcd 能够加载到原来的数据,以 DaemonSet 的形式部署 kuboard-etcd,并且其容器组将始终被调度到 master 节点,因此,您有多少个 master 节点,就会调度多少个 kuboard-etcd 的实例;
某些情况下,您的 master 节点只有一个或者两个,却仍然想要保证 kubuoard-etcd 的高可用,此时,您可以通过为一到两个 worker 节点添加 k8s.kuboard.cn/role=etcd 的标签,来增加 kuboard-etcd 的实例数量;
如果您已经安装了 Kuboard V3,通过此方式调整 etcd 数量时,需要按照如下步骤执行,否则 etcd 将不能正常启动:
执行 kubectl delete daemonset kuboard-etcd -n kuboard
为节点添加标签:
执行 kubectl apply -f https://addons.kuboard.cn/kuboard/kuboard-v3.yaml
建议 etcd 部署的数量为奇数
卸载Kuboard:
kubectl delete -f https://addons.kuboard.cn/kuboard/kuboard-v3.yaml
rm -rf /usr/share/kuboard ##清理遗留数据,在 master 节点以及带有 k8s.kuboard.cn/role=etcd 标签的节点上执行
- 上一篇: Docker 从入门到实践(docker从入门到精通)
- 下一篇: 通过项目学习Go开发之系统环境搭建
猜你喜欢
- 2024-11-16 Docker网络这样理解会更简单(二)(docker 网络)
- 2024-11-16 Docker 和 Kubernetes 介绍(docker与kubernetes)
- 2024-11-16 通过项目学习Go开发之系统环境搭建
- 2024-11-16 Docker 从入门到实践(docker从入门到精通)
- 2024-11-16 Docker 容器网络番外篇-VxLan(docker的网络)
- 2024-11-16 使用统一证书的方式部署ETCD3.5 集群(一)
- 2024-11-16 有想学docker的吗?我来倾馕相助了,143页docker入门资料免费送
- 2024-11-16 全新一代API网关,带可视化管理,文档贼友好
- 2024-11-16 Docker网络架构是什么?包含哪些哪些核心组件与驱动?
- 2024-11-16 Docker网络优化方案,你认为哪种将引爆未来?
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)