k8syaml.cn 提供的几个有意思的功能。
一、yaml资源快速生成
之前编写operator的helm的时候就需要自己写deployment、service、configmap这些资源,那么多字段也记不清,都是先找个模版,然后copy改改,再看官方文档,添加一些对象,整个过程其实还是挺费时的。这个功能提供通过填写表单的方式生成yaml,很方便,而且不记得字段是什么意思的话,可以点击查看资源文档,文档字段的说明是中文。不过目前只支持四种资源,以及用户自定义资源,后续会继续添加job、cronjob、rbac等其它资源。
不过我们大概率会很少使用到这个功能。因为我们平时部署应用,都不需要去写yaml部署。只有在写helm chart的时候需要,但是也很少会有写helm chart的需求。
我在开发Operator的时候,有一些自定义资源,但是kubebuilder只支持将go代码生成CRD的yaml文件,却没有生成example文件,当我们写helm chart的时候,要对着代码一个字段一个字段敲。这个功能支持copy一个CRD的yaml文件内容,能够自动生成表单填写,填写表单后生成资源的yaml文件。
二、Secret资源编解码
Secret这个资源个人感觉很鸡肋,只是base64存储,又不是真正的对数据加密,一般都是当成configmap用。
如果是本地的话可以用Lens这样的工具,自动就能看到base64解码后的内容了。但是线上环境只允许通过跳板机敲命令,kubectl命令不支持decode再显示,经常需要copy字段出来找个在线工具解码。
这个网站提供的kubectlx命令,提供了扩展命令,支持查询的时候decode data再显示。也提供了在线decode工具,对比使用在线base64编解码工具的好处是,如果data多个字段,能够一次解码出来,不用一个字段一个字段的copy重复操作。担心数据安全的话,F12看,是没有发起网络请求的,编解码都是在前端使用js代码完成。
三、kubectlx命令行工具
kubectlx这个工具简化kubectl工具的一些常用命令的使用, 亮点是提供了命令输入提示和按下TAB按键自动补全。经常敲命令的话可以试试。这个工具是开源的,可以自己fork分支二次开发扩展自己的命令。
四、在线练习
这个功能对于已经熟悉k8s的人来说没啥用,不过对新手来学,可以免去部署k8s集群的麻烦直接在线学习。
能够给每个用户在使用的时候创建一个云上虚拟的k8s集群。
控制台可以用来执行kubectl的命令,且只能执行kubectl的命令。
左边代码编辑区域可以直接编写yaml,然后点击apply按钮直接部署。但是只支持使用公共的基础镜像。
另外使用会有时间限制,超过10分钟集群就会销毁,再次刷新要重新等待创建。
创建集群的过程有点慢,大概需要30秒。
在线体验:k8syaml.cn