当前位置: 首页 > news >正文

K8s:Monokle Desktop 一个集Yaml资源编写、项目管理、集群管理的 K8s IDE

写在前面


  • Monokle Desktopkubeshop 推出的一个开源的 K8s IDE
  • 相关项目还有 Monokle CLIMonokle Cloud
  • 相比其他的工具,Monokle Desktop 功能较全面,涉及 k8s 管理的整个生命周期
  • 博文内容:Monokle Desktop 下载安装,项目管理,集群管理的简单介绍
  • 理解不足小伙伴帮忙指正

对每个人而言,真正的职责只有一个:找到自我。然后在心中坚守其一生,全心全意,永不停息。所有其它的路都是不完整的,是人的逃避方式,是对大众理想的懦弱回归,是随波逐流,是对内心的恐惧 ——赫尔曼·黑塞《德米安》


Monokle Desktop 是一个 100%开源K8s 可视化工具,可用于 编写、分析和部署 Kubernetes 配置,包括从创建到验证再到部署的整个配置生命周期。

在这里插入图片描述

在官方文档中, Monokle Desktop 这样介绍自己:

  • 快速了解你的清单、其包含的资源和关系的高层视图。
  • 利用 Git 来管理你的配置的生命周期
  • 使用 OPA 策略规则验证资源
  • 轻松地编辑资源,而无需学习或查找 yam 语法,并查看更改应用情况
  • 重构资源,保持名称和引用的完整性
  • 预览和调试用 kustomizeHelm生成的资源
  • 可视化 CRD 中定义的扩展资源
  • 比较资源版本与你的集群,并立即或通过拉动请求应用修改。通过拉动请求应用修改
  • 使用 Monokle 的模板系统创建多步骤表单,以快速生成 清单

下载安装

通过下面的路径下载,访问以获得最新版。

https://github.com/kubeshop/monokle/releases/

然后运行安装程序即可完成的在 windows 上的安装

安装之后需要提前配置好 kubeconfig 文件,位置为默认位置。

PS C:\Users\山河已无恙\.kube> ls目录: C:\Users\山河已无恙\.kubeMode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----         2023/1/14      7:48                cache
d-----         2023/2/13      4:48                http-cache
-a----         2023/1/27     20:27           5641 configPS C:\Users\山河已无恙\.kube> cat .\config
apiVersion: v1
clusters:
- cluster:
.........................

之后便可以双击启动, 通过 Monokle Desktop 我们可以像使用 编码 IDE 一样,开发编写 YAML 资源文件,然后动态应用集群,开发测试,持续集成部署,同时可以对 YAML 文件做版本管理,也可以实时查看集群的状态信息。对于常用的资源可以通过 表单的方式生成。

所以在下面的介绍中,我们分两部分功能来介绍。

项目版本管理

Monokle 有四种不同的方式创建一个新的项目:

  • 通过本地的静态文件目录构建一个空的项目
  • 从头开始构建一个空的项目
  • 通过模板构建一个项目
  • 从 远程 git 仓库获取一个 项目

在这里插入图片描述

这里选择第四个,导入了之前搭建 k8s HA 的相关资源的 一个远程 git 仓库

在这里插入图片描述

导入之后,点击进入项目

在这里插入图片描述

Monokle 会解析当前项目,扫描整个项目目录,整理分析资源情况,整个项目的资源构成,按照 API 类型整理

在这里插入图片描述

同时会 对 Helm Chart ,Kustomize 管理的 YAML 资源文件进行扫描分析

在这里插入图片描述

可以通过 对应的 API 直接定位到对应的资源文件,也可以直接修改后应用资源文件

在这里插入图片描述

可以通过 diff 看观察集群当前应用资源和本地的静态 YANL 文件的差异

在这里插入图片描述

默认情况下,会对资源进行合规验证扫描,有异常的情况会做特殊标记,并提示相关信息

在这里插入图片描述

可以通过 View validation errors 页面查看详细信息

在这里插入图片描述

通过设置可以配置相关的验证规则

在这里插入图片描述

可用通过页面工具实现简单的项目 Git 版本管理

在这里插入图片描述

资源文件创建

Monokle 中,YAML 资源文件的创建,可以通过不同的方式,可以直接通过表单创建,通过关键的数据生成的一个 YAML 模板文件,也可以通过模板插件来实现。

表单的方式生成

创建一个新的 pod 资源模板,通过表单填写一些值生成,并且放到 当前 项目 htlm 目录下,创建好之后我们可以对当前 YAML 资源模板进行修改。

在这里插入图片描述

模板插件的方式生成

默认情况下没有任何模板插件,可以编写好通过 git 仓库获取,或者通过 本地指定目录配置

在这里插入图片描述

模板方式需要提前配置模板插件,需要下面四个文件:

  • Monokle 模板配置
  • 定义表单模式
  • 定义表单 UI
  • 带有占位符的 Kubernetes YAML 清单

通过仓库获取,需要编写好上传,这里我原本想用 官方的 Demo 来体验一下。但是不知道什么问题,一直导入不进去,时间关系没有研究

在这里插入图片描述

地址在这里,感兴趣小伙伴可以尝试

https://github.com/kubeshop/monokle-default-templates-plugin.git

集群管理

点击连接集群,可以直接进入集群管理页面

在这里插入图片描述

在集群管理页面可以查看集群的当中状态,包括对象资源,计算资源,以及对象资源的简要信息,状态,部分资源的监听信息、集群相关信息等。

在这里插入图片描述

可以直接查看相关的资源信息

在这里插入图片描述

可以查看其前置依赖和后置依赖链接

在这里插入图片描述

后置链接依赖
在这里插入图片描述

对应 资源的详细信息,日志等

在这里插入图片描述

嗯,关于 Monokle 桌面端和小伙伴分享到这里,博文只是简单介绍,好多功能还待探索,Monokle 结合和了 K8s API 对象资源的编写、版本管理K8s 实际的集群管理,同时提供了常用资源通过表单生成,是一个功能较全面的 K8s IDE

官方帮助文档地址

https://kubeshop.github.io/monokle/

博文部分内容参考

文中涉及参考链接内容版权归原作者所有,如有侵权请告知


https://monokle.io/

https://github.com/kubeshop/monokle


© 2018-2023 liruilonger@gmail.com, All rights reserved. 保持署名-非商用-相同方式共享(CC BY-NC-SA 4.0)

相关文章:

K8s:Monokle Desktop 一个集Yaml资源编写、项目管理、集群管理的 K8s IDE

写在前面 Monokle Desktop 是 kubeshop 推出的一个开源的 K8s IDE相关项目还有 Monokle CLI 和 Monokle Cloud相比其他的工具,Monokle Desktop 功能较全面,涉及 k8s 管理的整个生命周期博文内容:Monokle Desktop 下载安装,项目管理…...

自动化测试实战篇(8),jmeter并发测试登录接口,模拟从100到1000个用户同时登录测试服务器压力

首先进行使用jmeter进行并发测试之前就需要搞清楚线程和进程的区别还需要理解什么是并发、高并发、并行。还需要理解高并发中的以及老生常谈的,TCP三次握手协议和TCP四次握手协议**TCP三次握手协议指:****TCP四次挥手协议:**进入Jmeter&#…...

ATTCK v12版本战术实战研究—持久化(二)

一、前言前几期文章中,我们介绍了ATT&CK中侦察、资源开发、初始访问、执行战术、持久化战术的知识。那么从前文中介绍的相关持久化子技术来开展测试,进行更深一步的分析。本文主要内容是介绍攻击者在运用持久化子技术时,在相关的资产服务…...

python函数式编程

1 callable内建函数判断一个名字是否为一个可调用函数 >>> import math >>> x 1 >>> y math.sqrt >>> callable(x) False >>> callable(y) True 2 记录函数(文档字符串) >>> def square(x): …...

3.linux下安装mysql

1.安装前的环境准备 查看是否安装过mysql 首先检测Linux操作系统中是否安装了MySQL: # rpm -qa | grep -i mysql 卸载安装包 如果有信息出现,则进行删除,命令如下: # rpm -e --nodeps 包名 删除老版本mysql的开发头文件和…...

17、MySQL分库分表,原理实战

MySQL分库分表,原理实战 1.MyCAT分布式架构入门及双主架构1.1 主从架构1.2 MyCAT安装1.3 启动和连接1.4 配置文件介绍2.MyCAT读写分离架构2.1 架构说明2.2 创建用户2.3 schema.xml2.4 连接说明2.5 读写测试2.6 当前是单节点3.MyCAT高可用读写分离架构3.1 架构说明3.3 schema.xm…...

【C++的OpenCV】第九课-OpenCV图像常用操作(六):图像形态学-阈值的概念、功能及操作(threshold()函数))

目录一、阈值(thresh)的概念二、阈值在图形学中的用途三、阈值的作用和操作3.1 在OpenCV中可以进行的阈值操作3.2 操作实例3.2.1 threshold()函数介绍3.2.2 实例3.2.3 结果上节课的内容(作者还是鼓励各位同学按照顺序进行学习哦)&…...

[Java代码审计]—MCMS

环境搭建 MCMS 5.2.4:https://gitee.com/mingSoft/MCMS/tree/5.2.4/利用 idea 打开项目 创建数据库 mcms,导入 doc/mcms-5.2.8.sql 修改 src/main/resources/application-dev.yml 中关于数据库设置参数 启动项目登录后台 http://localhost:8080/ms/l…...

《程序员面试金典(第6版)》面试题 01.08. 零矩阵

题目描述 编写代码,移除未排序链表中的重复节点。保留最开始出现的节点。 示例1: 输入:[1, 2, 3, 3, 2, 1] 输出:[1, 2, 3] -示例2: 输入:[1, 1, 1, 1, 2] 输出:[1, 2] 提示: 链表长度在[0, 20000]范…...

初识 Python

文章目录简介用途解释器命令行模式交互模式输入和输出简介 高级编程语言,解释型语言代码在执行时会逐行翻译成 CPU 能理解的机器码代码精简,但运行速度慢基础代码库丰富,还有大量第三方库代码不能加密 用途 网络应用工具软件包装其他语言开…...

常用sql语句分享

SELECT COUNT(DISTINCT money) FROM ac_association_course;#COUNT() 函数返回匹配指定条件的行数SELECT AVG(money) FROM ac_association_course;#AVG 函数返回数值列的平均值。NULL 值不包括在计算中SELECT id FROM ac_association_course order by id desc limit 1;#返回最大…...

极狐GitLab DevSecOps 为企业许可证安全合规保驾护航

本文来自: 小马哥 极狐(GitLab) 技术布道师 开源许可证是开源软件的法律武器,是第三方正确使用开源软件的安全合规依据。 根据 Linux 发布的 SBOM 报告显示,98% 的企业都在使用开源软件(中文版报告详情)。随着开源使用…...

后端程序员的前端基础-前端三剑客之HTML

文章目录1 HTML简介1.1 什么是HTML1.2 HTML能做什么1.3 HTML书写规范2 HTML基本标签2.1 结构标签2.2 排版标签2.3 块标签2.4 基本文字标签2.5 文本格式化标签2.6 标题标签2.7 列表标签(清单标签)2.8 图片标签2.9 链接标签2.10 表格标签3 HTML表单标签3.1 form元素常用属性3.2 i…...

VS2019加载解决方案时不能自动打开之前的文档(回忆消失)

✏️作者:枫霜剑客 📋系列专栏:C实战宝典 🌲上一篇: 错误error c3861 :“_T“:找不到标识符 逐梦编程,让中华屹立世界之巅。 简单的事情重复做,重复的事情用心做,用心的事情坚持做; 文章目录前言一、问题描…...

ConcurrentHashMap-Java八股面试(五)

系列文章目录 第一章 ArrayList-Java八股面试(一) 第二章 HashMap-Java八股面试(二) 第三章 单例模式-Java八股面试(三) 第四章 线程池和Volatile关键字-Java八股面试(四) 提示:动态每日更新算法题,想要学习的可以关注一下 文章目录系列文章目录一、…...

互联网衰退期,测试工程师35岁的路该怎么走...

国内的互联网行业发展较快,所以造成了技术研发类员工工作强度比较大,同时技术的快速更新又需要员工不断的学习新的技术。因此淘汰率也比较高,超过35岁的基层研发类员工,往往因为家庭原因、身体原因,比较难以跟得上工作…...

Windows Cannot Initialize Data Bindings 问题的解决方法

前言 拿到一个调试程序, 怎么折腾都打不开, 在客户那边, 尝试了几个系统版本, 发现Windows 10 21H2 版本可以正常运行。 尝试 系统篇 系统结果公司电脑 Windows 8有问题…下载安装 Windows10 22H2问题依旧下载安装 Windows10 21H2问题依旧家里的 笔记本Window 11正常 网上…...

Leetcode每日一题 1487. 保证文件名唯一

Halo,这里是Ppeua。平时主要更新C语言,C,数据结构算法......感兴趣就关注我吧!你定不会失望。 🌈个人主页:主页链接 🌈算法专栏:专栏链接 我会一直往里填充内容哒! &…...

Linux常用命令——lsusb命令

在线Linux命令查询工具(http://www.lzltool.com/LinuxCommand) lsusb 显示本机的USB设备列表信息 补充说明 lsusb命令用于显示本机的USB设备列表,以及USB设备的详细信息。 lsusb命令是一个学习USB驱动开发,认识USB设备的助手,推荐大家使用…...

Python——我愿称之为最简单的语言

Python——我愿称之为最简单的语言开发工具基础语法变量和数据类型列表和元组字典if语句while语句函数类文件与异常测试代码参考书籍:《python编程从入门到实践》 开发工具 python编程环境分为两个部分:python解释器和文本编辑器。运行.py文件时&#…...

java.io.IOException: Broken pipe

1、问题出现的场景 线上环境,拉取对账单,走的接口的形式,当天单量比较大,就出现了,拉取订单超时,报了个错java.io.IOException: Broken pipe。 2、解决方案 我们设置的超时时间是100S,由于当…...

Python——列表排序和赋值

(1)列表排序: 列表排序方法 ls.sort() 对列表ls 中的数据在原地进行排序 ls [13, 5, 73, 4, 9] ls.sort()ls.sort(reverseFalse) 默认升序,reverseTrue,降序 ls [13, 5, 73, 4, 9] ls.sort(reverseTrue)key指定排序时…...

python+pytest接口自动化(7)-cookie绕过登录(保持登录状态)

在编写接口自动化测试用例或其他脚本的过程中,经常会遇到需要绕过用户名/密码或验证码登录,去请求接口的情况,一是因为有时验证码会比较复杂,比如有些图形验证码,难以通过接口的方式去处理;再者&#xff0c…...

【连接池】什么是HikariCP?HikariCP 解决了哪些问题?为什么要使用 HikariCP?

文章目录什么是连接池什么是HikariCPHikariCP 解决了哪些问题?为什么要使用 HikariCP?HikariCP 的使用Maven支持数据库什么是连接池 数据库连接池负责分配、管理和释放数据库的连接。 数据库连接复用:重复使用现有的数据库长连接&#xff0…...

Tapdata Cloud 基础课:新功能详解之「微信告警」,更及时的告警通知渠道

【前言】作为中国的 “Fivetran/Airbyte”, Tapdata 是一个以低延迟数据移动为核心优势构建的现代数据平台,内置 60 数据连接器,拥有稳定的实时采集和传输能力、秒级响应的数据实时计算能力、稳定易用的数据实时服务能力,以及低代码可视化操作…...

【巨人的肩膀】JAVA面试总结(四)

💪、JVM 目录💪、JVM1、说一下JVM的主要组成部分及其作用2、什么是JVM内存结构(谈谈对运行时数据区的理解)3、堆和栈的区别是什么4、堆中存什么?栈中存什么?5、为什么不把基本类型放堆中呢?6、为…...

攒了一冬的甜,米易枇杷借力新电商走出川西大山

“绿暗初迎夏,红残不及春。魏花非老伴,卢橘是乡人。”苏轼文中的卢橘,就是枇杷,在苏轼看来,相较于姚黄魏紫,来自故乡四川的枇杷更为亲近。 四川省攀枝花市米易县是全国枇杷早熟产区之一,得益于…...

python-测试相关基础知识-补充

文章目录 1.面向对象1.1 基础概念1.2 面向对象关键字1.2.1 class关键字1.2.2 __init__初始化方法1.2.3 __del__销毁方法1.2.4 __str__输出字符串方法1.3 面向对象三大特点1.3.1 封装1.3.2 继承1.3.3 多态1.4 类属性和类方法1.5 静态方法2.文件操作2.1 文件基本操作2.2 按行读取…...

论文推荐:ScoreGrad,基于能量模型的时间序列预测

能量模型(Energy-based model)是一种以自监督方式执行的生成式模型,近年来受到了很多关注。本文将介绍ScoreGrad:基于连续能量生成模型的多变量概率时间序列预测。如果你对时间序列预测感兴趣,推荐继续阅读本文。 为什…...

RabbitMq(具体怎么用,看这一篇即可)

RabbitMq汇总1.RabbitMq的传统实现方式2.SpringAMQP简化RabbitMq开发2.1 基本消息队列(BasicQueue)2.2 工作消息队列(WorkQueue)2.3 发布订阅 -- 广播(Fanout)2.4 发布订阅 -- 路由(Direct&…...

甘肃手机版建站系统信息/文案发布平台

1、这个小游戏对于初学者而言,就是为了让大家练习方法的定义,参数的设定和使用。同时在开始需求分析中得知,如果我们发现一些代码重复出现,我们就要开始想,要不要写个方法来解决。比如地图的绘制,地图的绘制…...

企业官方网站建设的作用/站长工具在线免费

1、在码云新建创库,并且选择初始化README.md以启用svn服务。 2、在该项目的管理界面,勾上 [启用SVN访问] 3、在项目首页找到SVN的仓库地址,复制 4.在本地新建一个文件夹,名称随意 5.右键SVN检出,粘贴刚刚复制的地址&a…...

美国做南京做网站/seo实战培训视频

1:触发条件:创建的实体类生成到数据库表时报错 报错信息:TypeError: __init__() missing 1 required positional argument: on_delete  from django.db import models# Create your models here. class Classes(models.Model):# 班级表title…...

漫画交流网站怎么做/百度浏览器官网入口

一、打开苹果Mac电脑,在底部程序坞中找到访达; 二、打开访达后,左侧“应用程序”进入,找到要卸载的应用程序软件右键:移到废纸篓。 三、如遇到提示:不能将项目移到废纸篓,因为已打开。 四、请回…...

网络营销的网站分类有/潍坊网站建设seo

STAR 法则是在面试,求职,写简历时候的常用利器。虽然常用,但是我想知道的人一定很少很少,不然为什么那么多人面试的时候犯那么低级的错误呢?STAR法则无法帮你提高你的实力,但是它能帮你更好地反映出你的情况…...

网站导航这么做/怎么给公司做网站推广

(1)从文件中加载图片void CScale3DCUserManageView::OnDraw(CDC* pDC) {// TODO: 在此添加专用代码和/或调用基类CImage image; //创建图片类 USES_CONVERSION;INT re _access(W2A(m_strUserPicPath), 0);//判文件是否存在if (re -1)return;image.Load(m_strUserPicPath); /…...