news 2026/5/23 15:01:40

kubectl plugin:neat 的安装与使用

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
kubectl plugin:neat 的安装与使用

前言

在使用kubectl get $KIND -o yaml查看 k8s 资源时,输出结果中包含大量由集群自动生成的元数据(如managedFieldsresourceVersionuid等)。这些信息在实际复用 yaml 清单时需要手动清理,增加了额外的工作量。

使用 kubectl-neat 插件,可以自动移除这些由集群生成的冗余字段,仅保留有意义的内容,使 yaml 更加简洁,方便复用。

安装

插件方式安装

/* by 01130.hk - online tools website : 01130.hk/zh/calcpressure.html */ kubectl krew install neat ## 作为 kubectl 插件安装,使用方式为: kubectl neat

二进制方式安装

/* by 01130.hk - online tools website : 01130.hk/zh/calcpressure.html */ ## 版本选择: ## https://github.com/itaysk/kubectl-neat/releases ## 当前环境为 ubuntu 2404 LTS wget https://github.com/itaysk/kubectl-neat/releases/download/v2.0.4/kubectl-neat_linux_amd64.tar.gz tar xf kubectl-neat_linux_amd64.tar.gz mv ./kubectl-neat /usr/local/bin/ ## 创建别名(这里看个人习惯) vim /root/.bashrc alias kneat='kubectl-neat'

使用

本次使用二进制方式部署,实际上参数是相同的,没区别

root@network-demo:~# kubectl-neat help Usage: kubectl-neat [flags] kubectl-neat [command] ## 示例是通过 kubectl plugin 方式安装,使用二进制安装改成 kubectl-neat 就好 Examples: kubectl get pod mypod -o yaml | kubectl neat kubectl get pod mypod -oyaml | kubectl neat -o json kubectl neat -f - <./my-pod.json kubectl neat -f ./my-pod.json kubectl neat -f ./my-pod.json --output yaml Available Commands: ## 自动补全命令用的 completion Generate the autocompletion script for the specified shell get help Help about any command version Print kubectl-neat version Flags: -f, --file string file path to neat, or - to read from stdin (default "-") -h, --help help for kubectl-neat -o, --output string output format: yaml or json (default "yaml")

命令补全

简单来说就是按两下 tab 后自动补充没拼完的参数

💡 注:其实没啥用...他只能补全命令本身的参数,并不能补全 k8s 相关信息

root@network-demo:~# kubectl-neat completion --help Generate the autocompletion script for kubectl-neat for the specified shell. See each sub-command's help for details on how to use the generated script. Usage: kubectl-neat completion [command] Available Commands: bash Generate the autocompletion script for bash fish Generate the autocompletion script for fish powershell Generate the autocompletion script for powershell zsh Generate the autocompletion script for zsh Flags: -h, --help help for completion Global Flags: -o, --output string output format: yaml or json (default "yaml")
## 当前环境使用 bash root@network-demo:~# hostnamectl Static hostname: network-demo Icon name: computer-vm Chassis: vm Virtualization: kvm Operating System: Ubuntu 24.04.3 LTS Kernel: Linux 6.8.0-88-generic Architecture: x86-64 ## 添加命令补全 echo "source <(kneat completion bash)" >> ~/.bashrc && source ~/.bashrc ## 查看效果 ## 上面说没啥用的地方就在这...实际上能用的参数只有 get(kubectl-neat 自己的参数) ## 当你补全 get 后就会发现他无法识别 k8s 资源 root@network-demo:~# kubectl-neat completion (Generate the autocompletion script for the specified shell) help (Help about any command) get version (Print kubectl-neat version)

使用方式

## 这里我直接将 kubectl get -o yaml 与 kubectl-neat get -o yaml 输出对比 kubectl-neat get -- pods -n deepflow deepflow-server-fc484c85-p67gl -o yaml > deepflow-kneat.yaml kubectl get pods -n deepflow deepflow-server-fc484c85-p67gl -o yaml > deepflow-kubectl.yaml
## 通过 icdiff 输出两个文件的对比结果,这里为了方便大家看,只把删除的内容放上来了 root@network-demo:~# icdiff deepflow-kubectl.yaml deepflow-kneat.yaml creationTimestamp: "2026-01-23T02:24:57Z" generateName: deepflow-server-fc484c85- generation: 1 ownerReferences: - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: ReplicaSet name: deepflow-server-fc484c85 uid: 528ab77f-67ba-4099-8771-bfe06ca9ce2f resourceVersion: "4864722" uid: 0d5ff97b-9c48-4abf-be8b-d2b76f7a14d2 nodeAffinity: {} apiVersion: v1 apiVersion: v1 apiVersion: v1 apiVersion: v1 apiVersion: v1 scheme: HTTP successThreshold: 1 timeoutSeconds: 1 protocol: TCP protocol: TCP protocol: TCP protocol: TCP scheme: HTTP periodSeconds: 10 successThreshold: 1 timeoutSeconds: 1 resources: {} securityContext: {} terminationMessagePath: /dev/termination-log terminationMessagePolicy: File dnsConfig: {} dnsPolicy: ClusterFirst enableServiceLinks: true nodeName: network-demo restartPolicy: Always schedulerName: default-scheduler securityContext: {} serviceAccount: deepflow-server terminationGracePeriodSeconds: 30 defaultMode: 420 defaultMode: 420 apiVersion: v1 status: ## 下面是所有 status 内容...
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/20 18:24:31

互联网大厂Java求职面试:从Java核心到微服务构建

互联网大厂Java求职面试&#xff1a;从Java核心到微服务构建 场景设定 人物&#xff1a; 面试官&#xff1a;一位严谨且专业的互联网大厂技术专家。超好吃&#xff1a;一位刚入门的Java小白程序员&#xff0c;求职于互联网大厂。 场景&#xff1a;互联网医疗场景&#xff0c;开…

作者头像 李华
网站建设 2026/5/21 14:03:56

《Java并发编程的艺术》| ConcurrentHashMap 在 JDK 1.7 与 1.8 的底层实现

摘要&#xff1a;本篇围绕 Java 并发容器核心&#xff0c;详细解析了 ConcurrentHashMap 在 JDK 1.7 和 JDK 1.8 版本中的实现原理与演进&#xff0c;并对比了其与 HashMap、Hashtable 的核心差异。第6章 Java 并发容器6.1 ConcurrentHashMap的实现原理与使用6.1.1 为什么要使用…

作者头像 李华
网站建设 2026/5/23 2:32:52

收藏!运维人的至暗时刻已至?AI才是破局密钥

这绝非制造焦虑&#xff0c;而是当下运维圈的真实写照。身边不少深耕运维多年的同行都在吐槽&#xff1a;35岁职业天花板提前降临、企业岗位持续缩减、新人薪资倒挂老员工已成常态……种种困境叠加&#xff0c;让不少人开始怀疑&#xff1a;运维岗真的要走向没落了吗&#xff1…

作者头像 李华
网站建设 2026/5/22 11:23:59

基于关键链法的汽车传感器项目进度优化【附代码】

✨ 本团队擅长数据搜集与处理、建模仿真、程序设计、仿真代码、论文写作与指导&#xff0c;毕业论文、期刊论文经验交流。✅ 专业定制毕设、代码✅ 成品或定制&#xff0c;查看文章底部微信二维码(1)汽车传感器项目开发背景与进度管理挑战在汽车产业向电动化、智能化、网联化方…

作者头像 李华
网站建设 2026/5/22 6:08:40

导师推荐9个一键生成论文工具,自考学生轻松搞定论文格式规范!

导师推荐9个一键生成论文工具&#xff0c;自考学生轻松搞定论文格式规范&#xff01; 自考论文写作的福音&#xff1a;AI 工具如何改变你的学习节奏 在自考过程中&#xff0c;论文写作一直是许多学生最头疼的部分。无论是格式规范、内容逻辑还是语言表达&#xff0c;都需要投…

作者头像 李华