Kuboard云原生管理工具

这篇文章 Sentinel云原生K8S部署实战记录了以下过程

  • sentinel源码打包
  • 编译生成docker镜像
  • 通过k8s部署以及网关服务对接sentinel的过程

在这个过程中遇到了几个问题以及是如何解决的?

问题简介

  • 日志目录问题

  • 如何图形界面化管理云原生资源 -- kuboard

日志目录问题定位以及解决过程

使用场景

生成稳定版本tar包的过程


将tar包上传到行内使用openshif云原生部署


问题现象

pod始终启不来 查看pod的日志

/??/logs/csp/ 无权限访问异常

分析问题

由报错信息可以初步得到结论:生成日志文件的时候 没有权限写入

so 将注意力放在sentinel日志文件这里

首先查看Dockerfile 确认docker容器中的启动用户在什么目录下是有权限的


发现docker容器内启动的话 在/app目录下是有权限访问的

那么如果日志文件在/app目录下生成 则不会报没有权限写入日志的问题则初步判断 日志文件在非/app目录下生成了

查看sentinel源码的日志文件配置

发现在配置文件中的日志路径配置logging.file=${user.home}/logs/csp/sentinel-dashboard.log在当前用户目录下生成日志文件

我本地环境是mac系统mengfanxiao用户所以在/Users/mengfanxiao/目录下生成该日志文件

那么我将logging.file=${user.home}/logs/csp/sentinel-dashboard.log修改成logging.file=/app/logs/csp/sentinel-dashboard.log目录启动jar包发现在/Users/mengfanxiao/目录下还会生成另外两个日志文件command-center.logsentinel-record.log既然这两个日志文件生成路径没有在配置文件中生成那么则是在代码中写死的全局搜索sentinel源码这2个日志




由此知道了 生成这2个日志文件还是在当前用户目录下生成的所以这里需要修改成

截止目前生成的日志文件都写到了/app目录下

解决问题

将日志输出目录写到/app目录下 然后重新打包、编译镜像、生成tar包、上传行内镜像库、通过openshift部署 启动pod查看sentinel启动日志成功了

问题原理分析简介

k8s启动docker容器 容器内默认是通过root用户启动的

openshift启动docker不支持用root用户启动 但在没有创建用户的情况下 就不能确定当前用户是谁

如果生成的日志文件目录在当前用户所在的目录下 所以就会出现问题

通过kuboard来图形界面化管理云原生

安装kuboard

docker run -d \  --restart=unless-stopped \  --name=kuboard \  -p 7777:80/tcp \  -p 10081:10081/tcp \  -e KUBOARD_ENDPOINT="http://192.168.43.21:7777" \  -e KUBOARD_AGENT_SERVER_TCP_PORT="10081" \  -v /opt/docker/kuboard-data:/data \  swr.cn-east-2.myhuaweicloud.com/kuboard/kuboard:v3

访问dashboard

http://localhost:7777/kuboard/cluster

通过agent方式配置k8s集群




手动启动agent服务

curl -k 'http://192.168.43.21:7777/kuboard-api/cluster/k8s-local/kind/KubernetesCluster/k8s-local/resource/installAgentToKubernetes?token=guv3lsUhuTf4G1RJYRpc3AWIaf5oEL7X' > kuboard-agent.yaml

kubectl apply -f ./kuboard-agent.yaml

"注意我这里修改了端口号80-->7777"

代理服务起来之后 k8s就可以访问kuboard了

通过kuboard查看k8s集群


可以看到sentinel容器


可以查看日志 可以通过ssh进入容器内部

相较于 Kubernetes Dashboard 等其他 Kubernetes 管理界面,Kuboard 的主要特点有

  • 多种认证方式
Kuboard 可以使用内建用户库、gitlab / github 单点登录或者 LDAP 用户库进行认证避免管理员将 ServiceAccount 的 Token 分发给普通用户而造成的麻烦使用内建用户库时,管理员可以配置用户的密码策略、密码过期时间等安全设置

  • 多集群管理
管理员可以将多个 Kubernetes 集群导入到 Kuboard 中并且通过权限控制将不同集群/名称空间的权限分配给指定的用户或用户组

  • 微服务分层展示
在 Kuboard 的名称空间概要页中以经典的微服务分层方式将工作负载划分到不同的分层更加直观地展示微服务架构的结构并且可以为每一个名称空间自定义名称空间布局

  • 工作负载的直观展示
Kuboard 中将 Deployment 的历史版本所属的 Pod 列表Pod 的关联事件容器信息合理地组织在同一个页面中可以帮助用户最快速的诊断问题和执行各种相关操作

  • 工作负载编辑
Kuboard 提供了图形化的工作负载编辑界面用户无需陷入繁琐的 YAML 文件细节中即可轻松完成对容器的编排任务支持的 Kubernetes 对象类型包括:Node、Namespace、Deployment、StatefulSet、DaemonSet、Secret、ConfigMap、Service、Ingress、StorageClass、PersistentVolumeClaim、LimitRange、ResourceQuota、ServiceAccount、Role、RoleBinding、ClusterRole、ClusterRoleBinding、CustomResourceDefinition、CustomResource 等各类常用 Kubernetes 对象

  • 存储类型支持
在 Kuboard 中可以方便地对接 NFS、CephFS 等常用存储类型并且支持对 CephFS 类型的存储卷声明执行扩容和快照操作

  • 丰富的互操作性
 可以提供许多通常只在 `kubectl` 命令行界面中才提供的互操作手段,例如:

  * Top Nodes / Top Pods  * 容器的日志、终端  * 容器的文件浏览器(支持从容器中下载文件、上传文件到容器)  * KuboardProxy(在浏览器中就可以提供 `kubectl proxy` 的功能)

  • 套件扩展
  Kuboard 提供了必要的套件库,使得用户可以根据自己的需要扩展集群的管理能力。当前提供的套件有:

  * 资源层监控套件,基于 Prometheus / Grafana 提供 K8S 集群的监控能力,可以监控集群、节点、工作负载、容器组等各个级别对象的 CPU、内存、网络、磁盘等资源的使用情况;  * 日志聚合套件,基于 Grafana / Loki / Promtail 实现日志聚合;  * 存储卷浏览器,查看和操作存储卷中的内容;

  • 告警配置
可以通过界面直接配置资源层监控套件发送告警消息:

  * 支持邮件、微信发送告警消息;  * 支持告警路由配置;  * 支持告警规则配置等;

  • 操作审计
Kuboard 支持操作审计的功能:

  * 审计用户通过 Kuboard 界面和 Kuboard API 执行的操作;  * 自定义审计规则;

Kuboard云原生管理工具相关推荐

  1. ssis包部署提示不能与集成身份验证一起使用_何时使用和不使用云原生安全工具...

    点击上方"蓝色字体",选择 "设为星标" 关键讯息,D1时间送达! 虽然主要云计算供应商提供的安全工具很方便,但这对一些用户来说并不意味着总是正确的选择.因此需 ...

  2. 骞云再获阿里云产品生态集成认证,携手共建云原生管理新生态

    近日,上海骞云信息科技有限公司(以下简称"骞云科技")旗下产品云自动化管理平台与阿里云计算有限公司(以下简称"阿里云")的云原生关系型数据库PolarDB 经过 ...

  3. 云原生管理平台如何掀起“云网联动”新篇章

    计算资源(云).网络资源是企业IT架构的核心,也是企业应用架构的核心. 传统运营模式下,业务流程多.网络可扩展性和配置复杂.周期长.亟需自动化的抽象和编排,重塑网络涉及到的多部门.多环节. 企业上云之 ...

  4. “双敏”能力及云原生DevOps工具链云效携手亮相阿里云峰会

    5月28日举办的阿里云峰会主论坛上,云效以「助力企业构建「双敏」能力,实现十倍效能提升」的定位闪亮登场,阿里巴巴高级研究员兼阿里云智能基础产品事业部负责人蒋江伟亲自发布. 双敏组织即为组织敏捷和研发敏 ...

  5. OpenYurt 深度解读|开启边缘设备的云原生管理能力

    作者|贾燚星(VMware), 何淋波(阿里云) 北京时间 9 月 27 号,OpenYurt 发布 v0.5.0 版本.新发布版本中首次提出 kubernetes-native非侵入.可扩展的边缘设 ...

  6. 你的开发好帮手:下一代云原生开发工具技术

    本文分享自华为云社区<下一代云原生开发工具技术揭秘>,原文作者:灰灰哒. 在华为开发者大会(Cloud)上,华为云发布了基于华为云CloudIDE的智能化编码工具和云原生应用调测工具.华为 ...

  7. 书签同步工具android,「效率工具推荐」跨平台在线云书签管理工具

    网页收藏是我们平时必不可少的一件事,工作中,生活中,都有要经常用到的网站,使用浏览器自带书签收藏又不能跨平台使用,于是就在网上找到了这款可以跨平台的在线云书签管理工具Pinbox. 首先提一点,先不说 ...

  8. 云原生可观察性工具泛滥的思考

    前言 对于采用容器环境和kubernetes的公司来说,可观察性正变得越来越重要.CNCF最近的一份报告发现,72%的受访者使用了多达9种不同的工具来监控他们的云原生环境和应用程序.当然,如果不使用足 ...

  9. 云原生应用工具管理与实践

    云原生应用是什么? 云原生应用程序是由多个称为微服务的相互依赖的小型服务组成的软件程序. 目前主要的云原生应用管理工具主要有 Helm.Kustomize.Porter.Kubevela 等. 云原生 ...

最新文章

  1. 【MAC】记mac中django-admin.py 调用失败的解决方案
  2. 指定字符串按指定长度进行剪切
  3. 二分查找算法为什么要先排序
  4. UPS不断电割接流程和步骤
  5. 关于c++的文件编码的研究
  6. 基于SVD矩阵分解的用户商品推荐(python实现)
  7. Apache Tika:通用的内容分析工具
  8. HDU 5528 Count a * b
  9. tensorflow2.0 Dataset创建和使用
  10. eclipse左边的项目栏消失的处理方法
  11. NB-IoT终端进网检测介绍
  12. Java基础学习总结(134)——JDK 11 是否值得更新的思考
  13. 强化学习是人工智能的未来?
  14. python是什么语言简称为_python为何称为胶水语言
  15. ESP32 HTTP Client接口使用
  16. 第一单元 用python学习微积分(三) 求导四则运算及三角函数(下)- 三角函数
  17. C语言二级题库(刷题软件+60套真题+填空题+大题)2022年9月份新题第三套
  18. 网络安全——Webshell管理工具
  19. JavaScript-PC端网页特效
  20. 系统学习机器学习之SVM(四)--SVM算法总结

热门文章

  1. java 继承 extends_java中的继承 (extends) 详解
  2. Redis(三)、支持数据类型及常用操作命令
  3. 关于int类型除以1000后保留两位小数的问题,并且在excel里打印出来
  4. 加解密算法、消息摘要、消息认证技术、数字签名与公钥证书
  5. switch case里的变量生命周期
  6. BCGSoft Demo示例展示:对话框示例
  7. HDU 2653 (记忆化BFS搜索+优先队列)
  8. Nagios 安装方法
  9. 通过自己的项目实际经验,阐述为什么“恶心玩技术”?玩Java开源B/S的教训(三)...
  10. 【开源】QuickPager ASP.NET2.0分页控件V2.0.0.1——支持多种数据库。让分页更加简单。...