首页 > 其他分享 >K8s:Monokle Desktop 一个集Yaml资源编写、项目管理、集群管理的 K8s IDE

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

时间:2023-02-27 12:08:44浏览次数:39  
标签:通过 表单 Desktop Yaml 集群 资源 Monokle K8s 模板

写在前面


  • Monokle Desktopkubeshop 推出的一个开源的 K8s IDE
  • 相关项目还有 Monokle CLIMonokle Cloud
  • 相比其他的k8s 管理工具,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\山河已无恙\.kube

Mode                 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 config

PS 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 [email protected], All rights reserved. 保持署名-非商用-相同方式共享(CC BY-NC-SA 4.0)

标签:通过,表单,Desktop,Yaml,集群,资源,Monokle,K8s,模板
From: https://blog.51cto.com/liruilong/6082175

相关文章

  • k8s
    部署K8S流程:1、基础环境准备,并关闭防火墙selinux和swap,更新软件源、时间同步、安装常用命、开启路由转发。2、部署harbor及haproxykeeplivad高可用反向代理3、......
  • K8S中PV和PVC
    前言容器磁盘上的文件的生命周期是短暂的,这就使得在容器中运行重要应用时会出现一些问题。首先,当容器崩溃时,kubelet会重启它,但是容器中的文件将丢失——容器以干净的状态......
  • K8S Pod Sidecar 应用场景之一-加入 NGINX Sidecar 做反代和 web 服务器
    KubernetesPodSidecar简介Sidecar是一个独立的容器,与Kubernetespod中的应用容器一起运行,是一种辅助性的应用。Sidecar的常见辅助性功能有这么几种:服务网格(s......
  • k8s 之 滚动更新
    背景公司做的是医院的院内系统,医院存在24小时的急诊,所以需要程序7*24小时不间断;在程序更新的时候,就需要滚动更新。DockerSwarm中的滚动更新目前公司部署使用的是docke......
  • 1、Kyuubi在竞技世界大数据平台实践--Kyuubi on K8S读取kerberosed CD
    背景为满足业务大数据架构使用多种sql引擎:spark,flink,trino(同时查询hive,clickhouse等),需要部署一个统一的sql入口,该入口满足多引擎多平台运行;本次实践是上述需求的一个......
  • K8S-pod进阶
    一.资源限制当定义Pod时可以选择性地为每个容器设定所需要的资源数量。最常见的可设定资源是CPU和内存大小,以及其他类型的资源。 当为Pod中的容器指定了req......
  • K8Syaml文件详解
    一、K8S支持的文件格式kubernetes支持YAML和JSON文件格式管理资源对象。JSON格式:主要用于api接口之间消息的传递YAML格式:用于配置和管理,YAML是一种简洁的非标记性语言,内......
  • K8SPod进阶资源限制以及探针
    一、Pod进阶1、资源限制当定义Pod时可以选择性地为每个容器设定所需要的资源数量。最常见的可设定资源是CPU和内存大小,以及其他类型的资源。当为Pod中的容器指......
  • K8S调度约束
    一、调度约束Kubernetes是通过List-Watch(监控)的机制进行每个组件的协作,保持数据同步的,每个组件之间的设计实现了解耦。用户是通过kubectl根据配置文件,向APIServer......
  • 【云原生】k8s 离线部署讲解和实战操作
    目录一、概述二、前期准备1)节点信息2)修改主机名和配置hosts3)配置ssh互信4)时间同步5)关闭防火墙6)关闭swap7)禁用SELinux8)允许iptables检查桥接流量三、开始部署1)离线安装d......