广州商城网站建设公司/中国工商业联合会
关注【云原生百宝箱】公众号,获取更多云原生消息
"kubectl-tree 是一款强大的 kubectl 插件,通过 ownerReferences 实现 Kubernetes 对象之间的所有权关系探索。相较于 kubectl lineage,它不仅更全面理解 API 对象的逻辑关系,而且借助ownerReferences。这使得揭示 Kubernetes 中对象间复杂的所有权结构变得更加简便,为用户提供更直观、全面的视角,助力更深入的集群管理与分析。"
kubectl-tree
一个 kubectl 插件,用于通过ownerReferences
探索 Kubernetes 对象之间的所有权关系。
插件kubectl lineage
[1] 与kubectl tree
非常相似,但它只能理解 一些 API 对象之间的逻辑关系[2],而不需要ownerReferences。
安装插件管理器(Krew )
注意: krew 仅兼容
kubectl
v1.12或更高版本。
Krew 目前支持macOS/Linux: bash/zsh[3], fish[4] 和**Windows[5]**
macOS/Linux环境
Bash or ZSH shellsde
1.确保git
已安装。
2.运行此命令以下载并安装krew
:
(set -x; cd "$(mktemp -d)" &&OS="$(uname | tr '[:upper:]' '[:lower:]')" &&ARCH="$(uname -m | sed -e 's/x86_64/amd64/' -e 's/\(arm\)\(64\)\?.*/\1\2/' -e 's/aarch64$/arm64/')" &&KREW="krew-${OS}_${ARCH}" &&curl -fsSLO "https://github.com/kubernetes-sigs/krew/releases/latest/download/${KREW}.tar.gz" &&tar zxvf "${KREW}.tar.gz" &&./"${KREW}" install krew
)
3.将$HOME/.krew/bin
目录添加到你的 PATH 环境变量。为此,需要在你的.bashrc
或者.zshrc
文件并添加如下内容:
# vim ~/.bashrc 在文件末尾添加一下内容
export PATH="${KREW_ROOT:-$HOME/.krew}/bin:$PATH"
并重新启动你的shell。
或者直接使用如下命令,更方便快捷
echo 'export PATH=$HOME/.krew/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
4.运行kubectl krew
以检查安装。
$ kubectl krew
krew is the kubectl plugin manager.
You can invoke krew through kubectl: "kubectl krew [command]"Usage:kubectl krew [command]Available Commands:completion generate the autocompletion script for the specified shellhelp Help about any commandindex Manage custom plugin indexesinfo Show information about an available plugininstall Install kubectl pluginslist List installed kubectl pluginssearch Discover kubectl pluginsuninstall Uninstall pluginsupdate Update the local copy of the plugin indexupgrade Upgrade installed plugins to newer versionsversion Show krew version and diagnosticsFlags:-h, --help help for krew-v, --v Level number for the log level verbosityUse "kubectl krew [command] --help" for more information about a command.
Fish shell
1.确保git
已安装。
2.在你的终端中运行此命令以下载并安装krew
:
beginset -x; set temp_dir (mktemp -d); cd "$temp_dir" &&set OS (uname | tr '[:upper:]' '[:lower:]') &&set ARCH (uname -m | sed -e 's/x86_64/amd64/' -e 's/\(arm\)\(64\)\?.*/\1\2/' -e 's/aarch64$/arm64/') &&set KREW krew-$OS"_"$ARCH &&curl -fsSLO "https://github.com/kubernetes-sigs/krew/releases/latest/download/$KREW.tar.gz" &&tar zxvf $KREW.tar.gz &&./$KREW install krew &&set -e KREW temp_dir &&cd -
end
3.将$HOME/.krew/bin
目录添加到你的 PATH 环境变量。为此,为此,需要在你的config.fish
文件并添加如下内容:
set -gx PATH $PATH $HOME/.krew/bin
并重新启动你的shell。
-
1. 运行
kubectl krew
以检查安装。
Windows环境
-
1. 确保
git
已安装。 -
2. 从https://github.com/kubernetes-sigs/krew/releases页面下载`krew.exe`
-
3. 使用管理员权限启动
cmd.exe
。 -
4. 运行以下命令安装 krew:
.\krew install krew
-
5. 将
%USERPROFILE%\.krew\bin
目录添加到你的PATH
环境变量 -
6. 启动一个新的命令行窗口。
-
7. 运行
kubectl krew
以检查安装。
安装kubectl-tree
使用krew[6]插件管理器安装:
kubectl krew install tree
kubectl tree --help
演示
示例(Deployment):
示例 Kubernetes 部署对象层次结构
示例((Knative Service):
使用 Knative Service 的 Kubernetes 对象层次结构示例
示例(Agones Fleet)):
Agones Fleet 的 Kubernetes 对象层次结构示例
示例(Kserve Inferenceservices)):
Kserve 的 Kubernetes 对象层次结构示例
注意
默认情况下,插件将仅搜索与指定对象相同的命名空间中的“命名空间”对象。
可以使用-A
或--all-namespaces
标志来搜索所有命名空间中的命名空间和非命名空间对象。
引用链接
[1]
kubectl lineage
: https://github.com/tohjustin/kube-lineage[2]
API 对象之间的逻辑关系: https://github.com/tohjustin/kube-lineage#supported-relationships[3]
bash/zsh: https://krew.sigs.k8s.io/docs/user-guide/setup/install/#bash[4]
fish: https://krew.sigs.k8s.io/docs/user-guide/setup/install/#fish[5]
Windows: https://krew.sigs.k8s.io/docs/user-guide/setup/install/#windows[6]
krew: https://krew.sigs.k8s.io/
- END -
推荐阅读
-
叮,你收到一份来自CNCF的云原生景观简介
-
要魔改Kubernetes,我们可以从哪里扩展
-
问题排查太烦心,试试GPT的超能力
-
Copa:无需重建镜像,直接修补容器漏洞
-
玩转K8s网络:16张图带你从小白到专家
-
1000节点集群,5秒搭建好
-
流量何处来又往何处去,这次一目了然
-
Kubernetes CNI 插件选型和应用场景探讨
-
块/文件/对象存储难统一管理,试试这个集大成者
-
GPU越来越难买,如何提高利用率
-
监控外部服务太复杂?ServiceMonitor 和 PrometheusRule有妙招
-
容器快了,却不安全了,Rootless 安排上
-
还在Jenkins点点,快来体验Tekton的灵活自动化
-
懒人福音:LazyDocker轻松驾驭容器,操作高效省心
相关文章:

API对象上千个,有啥关联性,kubectl-tree一键搞定
关注【云原生百宝箱】公众号,获取更多云原生消息 "kubectl-tree 是一款强大的 kubectl 插件,通过 ownerReferences 实现 Kubernetes 对象之间的所有权关系探索。相较于 kubectl lineage,它不仅更全面理解 API 对象的逻辑关系,…...

java自定义工具类在List快速查找相同字段值对象
根据对象某一字段名,获取字段值,将List转换为Map中包含list,Key为字段值,Value为相同字段值的对象list,快速定位具有相同字段值的对象,转换之后便于在Map中根据字段值快速查找相同字段值的对象 //List转Map…...

codeforces Hello 2024 - C - Grouping Increases --- 题解
目录 Grouping Increases 题目描述: 思路解析: 代码实现: Grouping Increases 题目描述: 给你一个大小为n的数组a,你可以把数组a划分为两个子序列s和t,a中元素,要么在子序列s中,…...

STM32H5培训(一)总览
文章目录 1. 前言2. STM32H5系列MCU的特点和新功能包括性能提升、新外设和安全功能等3. STM32H5系列型号之间的区别和关键资源对比4. 性能和功能亮点6. 开发生态参考: 1. 前言 本篇主要介绍STM32H5系列MCU的特点和新功能,包括全新的M33内核、250M主频处…...

亚马逊云科技 WAF 部署小指南(五):在客户端集成 Amazon WAF SDK 抵御 DDoS 攻击...
方案介绍 在 WAF 部署小指南(一)中,我们了解了 Amazon WAF 的原理,并通过创建 WEB ACL 和托管规则防护常见的攻击。也了解了通过创建自定义规则在 HTTP 请求到达应用之前判断是阻断还是允许该请求。在 Amazon WAF 自定义规则中&am…...

高光谱分类论文解读分享之基于多模态融合Transformer的遥感图像分类方法
IEEE TGRS 2023:基于多模态融合Transformer的遥感图像分类方法 题目 Multimodal Fusion Transformer for Remote Sensing Image Classification 作者 Swalpa Kumar Roy , Student Member, IEEE, Ankur Deria , Danfeng Hong , Senior Member, IEEE, Behnood Ras…...

Trans论文复现:基于数据驱动的新能源充电站两阶段规划方法程序代码!
适用平台:MatlabYalmipCplex/Gurobi; 文章提出了一种电动汽车充电站的两阶段规划方法,第一阶段通过蒙特卡洛法模拟充电车辆需求和电池充放电数据来确定充电站位置;第二阶段通过数据驱动的分布鲁棒优化方法优化充电站的新能源和电池…...

将抖音视频转成MP3并下载
这篇是在上一篇的基础上写的,这篇负责抖音作者详情页的视频转声音提取,这篇需要用到后端。 本地启动后端后,在控制台输入对应代码,即可实现hover在封面上,按d一键下载音频 控制台代码 // 获取作者的视频列表var liEle…...

C程序训练:与输入有关的错误
在录入程序时有时稍不注意就可能录入错误的字符导致程序运行结果出现错误,下面举例说明。 下面程序的运行结果是错的,但程序又没有错,到底问题出现在哪呢? #include <stdio.h> int main() {FILE *fp;int i, k, n;fpfopen(…...

制作 CentOS Stream9 的U盘系统启动盘
一、简述 注:请勿用于商用,如有版权纠纷,于博主无任何关系。(仅用于学习研究使用) 由于CentOs Linux 7和CentOs Stream8终止日期是2024年,需要将系统升级到最新版本的CentOs Stream9,下面是刻录系统盘的操…...

Vulnhub靶机:driftingblues 1
一、介绍 运行环境:Virtualbox 攻击机:kali(10.0.2.15) 靶机:driftingblues1(10.0.2.17) 目标:获取靶机root权限和flag 靶机下载地址:https://www.vulnhub.com/entr…...

CloudCompare——点云空间圆拟合
目录 1.概述2.软件实现3.完整操作4.算法源码5.相关代码 本文由CSDN点云侠原创,CloudCompare——点云空间圆拟合,爬虫自重。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫与GPT生成的文章。 1.概述 CloudCompare软件中的To…...

解决POI报错POIXMLTypeLoader不存在的问题
问题: springframework.web.util.NestedServletException: Handler dispatch failed; nested exception is java.lang.NoClassDefFoundError: org/apache/poi/POIXMLTypeLoaderat org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet…...

关于rewriteBatchedStatements的源码分析
在之前的优惠券兑换码需求中,涉及批量写入问题,其中有一个关键的连接配置参数非常重要——rewriteBatchedStatements,当该值配置为true时,Statement将可能对批量插入sql进行重写。 何谓重写?原来提交的批量执行语句&a…...

自动化神器 Playwright 的 Web 自动化测试解决方案
1. 主流框架的认识 总结: 由于Selenium在3.x和4.x两个版本的迭代中并没有发生多大的变化,因此Selenium一统天下的地位可能因新框架的出现而变得不那么稳固。后续的Cypress、TestCafe、Puppeteer被誉为后Selenium时代Web UI自动化的三驾马车。但是由于这三…...

docker filebeat 将日志多级目录和多维json数据日志同步到es
注 使用的时候先调试调试配置,调试成功在尝试写入es,如果es写入失败就是es账户.密码/白名单.和index未创建的问题,细节可以留言 setup.template.priority 模板优先级 调整这个可以配置一台机器多个filebeat 容器启动 多级目录日志和多维josn日志结构 filebeat.inputs:- typ…...

【机器学习】模型参数优化工具:Optuna使用分步指南(附XGB/LGBM调优代码)
常用的调参方式和工具包 常用的调参方式包括网格搜索(Grid Search)、**随机搜索(Random Search)和贝叶斯优化(Bayesian Optimization)**等。 工具包方面,Scikit-learn提供了GridSearchCV和RandomizedSearchCV等用于网格搜索和随机搜索的工具。另外,有一…...

webview全屏处理,即插即用
去年双十一有个直播的需求,听起来很简单,技术也都很成熟,但是真的开始实现后,还是有不少坑的,首先第一个uc内核不支持webRTC协议,需要重新开发chrome内核的webview,其次webview全屏处理、悬浮窗…...

实录分享 | 央企大数据平台架构发展趋势与应用场景的介绍
分享嘉宾: 孟子涵-中国华能集团信息中心平台架构师 2021年华能就与Alluxio建立了合作,共同写了整个华能统一纳管的架构方案。这个方案我认为是现在我们在央企里边比较核心的一套体系,能让全集团所有我们认为重要的数字化资源实现真正的统一集…...

UE5 将类修改目录
有个需求,需要修改ue里面类的位置,默认在Public类下面,我想创建一个二级目录,将所有的类分好位置,方便查看。 上图为创建一个类所在的默认位置。 接下来,将其移动到一个新的目录中。 首先在资源管理器中找…...

GPT实战系列-ChatGLM3管理工具的API接口
GPT实战系列-ChatGLM3管理外部借力工具 用ChatGLM的工具可以实现很多查询接口和执行命令,外部工具该如何配置使用?如何联合它们实现大模型查询助手功能?例如调用工具实现股票信息查询,网络天气查询等助手功能。 LLM大模型相关文章…...

Python 列表、元组、字典区别
1.列表、元组和字典都是序列 2.列表字典可以修改和删除序列中的某个元素,而元组就是一个整体,不能修改和删除,一定要修改或删除的话,只能修改和删除整个元组。 3.既然元组不能删除和修改,有什么作用呢? 1…...

[足式机器人]Part2 Dr. CAN学习笔记 - Ch03 傅里叶级数与变换
本文仅供学习使用 本文参考: B站:DR_CAN Dr. CAN学习笔记-Ch03 傅里叶级数与变换 1. 三角函数的正交性2. 周期为 2 π 2\pi 2π的函数展开为傅里叶级数3. 周期为 2 L 2L 2L的函数展开4. 傅里叶级数的复数形式5. 从傅里叶级数推导傅里叶变换FT6. 总结 1. …...

你想使用域名访问一个ip的网页,你应该怎么办呢?
你想使用域名访问一个ip的网页,你应该怎么办呢? eg:你想用https://test.com/访问http://1.1.1.1/方法: eg:你想用https://test.com/访问http://1.1.1.1/ 方法: 1.首先,如果你是服务器的管理者,你需要在服务器的官网申请一个test.com的域名,然后在官网将域名映射到1.1.1.1上. …...

SAP存放状态的几个常用表
SAP存放状态的几个常用表 在sap中,包括订单、项目、计划、设备主数据等,存在审批流程的业务单据,这些业务对象都会有状态的属性,用来控制和约束该业务当前的操作。 主要的表 JEST:存放了该对象编号的当前状态 JCDS…...

AUTO SEG-LOSS SEARCHING METRIC SURROGATES FOR SEMANTIC SEGMENTATION
AUTO SEG-LOSS: 搜索度量替代语义分割 论文链接:https://arxiv.org/abs/2010.07930 项目链接:https://github.com/fundamentalvision/Auto-Seg-Loss ABSTRACT 设计合适的损失函数是训练深度网络的关键。特别是在语义分割领域,针对不同的场…...

openssl3.2 - 官方demo学习 - 索引贴
文章目录 openssl3.2 - 官方demo学习 - 索引贴概述笔记工程的搭建和调试环境BIOBIO - client-arg.cBIO - client-conf.cBIO - saccept.cBIO - sconnect.cBIO - server-arg.cBIO - server-cmod.cBIO - server-conf.cBIO - 总结certsciphercipher - aesccm.ccipher - aesgcm.ccip…...

textarea文本框根据输入内容自动适应高度
第一种: <el-input auto-completeoff typetextarea :autosize"{minRows:3,maxRows:10}" class"no-scroll"> </el-input> /* 页面的样式表 */ .no-scroll textarea {overflow: hidden; /* 禁用滚动条 */resize: none; /* 禁止用户…...

【JAVA基础--计算机网络】--TCP三次握手+四次挥手
三次握手四次挥手 写在前面1. 三次握手1.1 作用: 为了在不可靠的信道上建立起可靠的连接;1.2 建立过程1.3 面试提问 2. 四次挥手2.1 作用:为了在不可靠的网络信道中进行可靠的连接断开确认2.2 断开过程2.3 面试提问 写在前面 三次握手建立连…...

最新靠谱可用的-Mac-环境下-FFmpeg-环境搭建
最近在尝试搭建 FFmpeg 开发环境时遇到一个蛋疼的事,Google 了 N 篇文章竟然没有一篇是可以跑起来的! 少部分教程是给出了自我矛盾的配置(是的,按照贴出来的代码和配置,他自己都跑不起来),大部…...