常用的几款工具让 Kubernetes 集群上的工作更容易

7e48ffa6c519c0ab6a5523fc2f5dc133.gif

作者 | Addo Zhang

来源 | 云原生指北

其实日常工作中在集群上的操作也非常多,今天就来介绍我所使用的工具。

kubectl-alias

使用频率最高的工具,我自己稍微修改了一下,加入了 StatefulSet 的支持。

这个是我的 https://github.com/addozhang/kubectl-aliases,基于 https://github.com/ahmetb/kubectl-aliases。

比如输出某个 pod 的 json,kgpoojson xxx 等同于 kubectl get pod xxx -o json

结合 jq 使用效果更好 😂。

语法解读

k=kubectlsys=--namespace kube-system•commands:•g=getd=describerm=deletea:apply -fak:apply -kk:kustomizeexexec -i -tlologs -f•resources:•po=pod, dep=deploymenting=ingresssvc=servicecm=configmapsec=secret,ns=namespaceno=node•flags:•output format: oyamlojsonowideall--all or --all-namespaces depending on the command•sl--show-labelsw=-w/--watch•value flags (should be at the end):•n=-n/--namespacef=-f/--filenamel=-l/--selector

kubectx + kubens

安装看这里

kubectx 用于在不同的集群间进行快速切换。假如用 kubectl,你需要:

# context 列表
kubectl config current-context 
# 设置 context
kubectl config use-context coffee
e2618462d59e4089f4a73f5fc2a930e6.gif
kubectx-demo

kubens 就是在不同 namespace 间快速切换的工具。用 kubectl 的话,需要:

# namespace 列表
kbuectl get ns
# kubectl config set-context --current --namespace=kube-system
4b662f7134053aec5d3273891d2ba5b7.gif
kubens-demo

k9s

没错,只比 k8s 多了个 1 😂。

k9s 提供了终端 UI 与 Kubernetes 集群进行编辑交互。本人常用的比如:

F 配置端口转发•l 输出 pod 日志•e 修改资源对象•s pod 终端交互模式•y yaml 方式输出资源对象•d describe 资源对象•ctrl+d 删除 pod

启动方式

# 指定 namespace 运行
k9s -n mycoolns
# 指定 context 运行
k9s --context coolCtx
# 只读模式运行
k9s --readonly
65c6f16b2613ccaadc93905a09d21872.png
k9s-pod

键入问号“?” 就可以打开快捷操作指引。

623e27a067cd705ce491d7bbf053df3a.png
help

stern

stern 可以用来 tail 集群上的多个 pod 和 pod 中多个容器的日志。不同的 pod 和容器以不同的颜色区分,方便 debug。

比如使用命令 stern -l tier=control-plane -n kube-system 可以输出 kube-system 命名空间下控制平面(label 为 tier=control-plane) pod 的日志。

35d67816099d8929d2809530697f982f.png
stern-control-plane

命令行选项

Tail multiple pods and containers from Kubernetes
Usage:stern pod-query [flags]
Flags:-A, --all-namespaces             If present, tail across all namespaces. A specific namespace is ignored even if specified with --namespace.--color string               Color output. Can be 'always', 'never', or 'auto' (default "auto")--completion string          Outputs stern command-line completion code for the specified shell. Can be 'bash' or 'zsh'-c, --container string           Container name when multiple containers in pod (default ".*")--container-state string     If present, tail containers with status in running, waiting or terminated. Default to running. (default "running")--context string             Kubernetes context to use. Default to current context configured in kubeconfig.-e, --exclude strings            Regex of log lines to exclude-E, --exclude-container string   Exclude a Container name--field-selector string      Selector (field query) to filter on. If present, default to ".*" for the pod-query.-h, --help                       help for stern-i, --include strings            Regex of log lines to include--init-containers            Include or exclude init containers (default true)--kubeconfig string          Path to kubeconfig file to use-n, --namespace strings          Kubernetes namespace to use. Default to namespace configured in Kubernetes context. To specify multiple namespaces, repeat this or set comma-separated value.-o, --output string              Specify predefined template. Currently support: [default, raw, json] (default "default")-l, --selector string            Selector (label query) to filter on. If present, default to ".*" for the pod-query.-s, --since duration             Return logs newer than a relative duration like 5s, 2m, or 3h. Defaults to 48h.--tail int                   The number of lines from the end of the logs to show. Defaults to -1, showing all logs. (default -1)--template string            Template to use for log lines, leave empty to use --output flag-t, --timestamps                 Print timestamps--timezone string            Set timestamps to specific timezone (default "Local")-v, --version                    Print the version and exit

Lens

Lens 是用来控制 Kubernetes 的 IDE,开源且免费。

消除了集群操作的复杂性、提供了实时的可观察性、方便故障排查、支持多系统的桌面客户端、兼容多种集群。

5d0ee46cd73102f42b9582d80300a469.png
Lens

Infra App

Infra App 跟 Lens 差不多,UI 较 Lens 好些,但是功能就弱很多,类似 Lens 的只读模式。

免费版比收费版的区别只在于支持的集群数量,免费版只支持一个集群。

9c145bb47a4767e5d2f9c0263b596073.png
Infra

kubefwd

kubefwd,这个一直有安装但是使用次数寥寥,因为应用之间的访问没有走 service,不过偶尔做些实验的时候会用的上。

kubefwd 是一个用于端口转发Kubernetes中指定namespace下的全部或者部分pod的命令行工具。kubefwd 使用本地的环回IP地址转发需要访问的service,并且使用与service相同的端口。kubefwd 会临时将service的域条目添加到 /etc/hosts 文件中。

启动kubefwd后,在本地就能像在Kubernetes集群中一样使用service名字与端口访问对应的应用程序。

c300ad996c20309097c98629867b335a.gif
kubefwd_ani
7e7dfd51fa2518bdc6023455885c8335.png

总结

善用工具可以提升效率,但并不是不可或缺的。

如果你有其他的工具,欢迎留言提出。

505be17ab96606d4d6ab3fe5c58ca39c.gif

17e7d4c7a7d5cc7f0310c84c02e401bc.png

往期推荐

苹果将于2025年推出的Apple Car长什么样?

长跑11年,腾讯开源的变与不变

边缘应用增长800%,听听Akamai边缘部署的经验

CSDN云原生Meet up深圳站与你不见不散!

92842f68116db64a1655960dad7902f0.gif

点分享

28c53435621a368bc94c491479682bfc.gif

点收藏

ecc8e645bcdaf275b727bd827658f240.gif

点点赞

1043e4783be82a4032facf56a46959da.gif

点在看

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/513231.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

以太坊白皮书_以太坊发展历程

2013年年末,以太坊创始人Vitalik Buterin发布了以太坊初版白皮书,在全球的密码学货币社区陆续召集到一批认可以太坊理念的开发者,启动了项目。2014年2月,Vitalik在迈阿密比特币会议上第一次公布了以太坊项目,核心开发团…

来电科技:基于 Flink + Hologres 的实时数仓演进之路

简介: 本文将会讲述共享充电宝开创企业来电科技如何基于 Flink Hologres 构建统一数据服务加速的实时数仓 作者:陈健新,来电科技数据仓库开发工程师,目前专注于负责来电科技大数据平台离线和实时架构的整合。 深圳来电科技有限…

linux find 图片,linuxfind命令的介绍【图解】

作为一种分时的特数操作系统,Linux具备Windows和mac OS与众不同的操作界面和用户体验,虽然它并不是最主流的操作系统,但是它会作为操作系统而得到众多程序开发人员的青睐和熟知。find命令是操作系统环境下进行计算机功能调用的特殊命令&#…

移动云TeaTalk:这是一场云数据库技术的深度对话!

随着云计算的发展,数据库上云已经成为趋势,云数据库服务相对于传统数据库在架构、性能与安全等方面都存在着新的挑战。11月23日,移动云TeaTalk线上直播活动成功举办。本次活动以“云数据库技术创新研究与实践”为主题,邀请了移动云…

devc++源文件未编译_iOS 编译知识小结

简介源码到可执行文件流程编译器 编译流程预处理(preprocessor)词法分析(lexical anaysis)语法分析(semantic analysis)CodeGen生成汇编代码生成目标文件生成可执行文件Xcode中查看Clang编译.m文件信息 Xcode常见编译报错分析1. duplicate symbols报错2. symbol(s) not found f…

微信不再提供小程序打开App?借助H5为App引流的方式你必须知道!

简介: 2021年5月14日App开发者领域发布了一条重要消息:微信开放平台为了提升用户体验,将于2021年5月20日(后来延期到2021年5月27日)起不再提供“小程序打开App技术服务”,现在能够实现从微信打开App的方式只…

Gartner APM 魔力象限技术解读——全量存储? No! 按需存储?YES!

简介: 在云原生时代,充分利用边缘节点的计算和存储能力,结合冷热数据分离实现高性价比的数据价值探索已经逐渐成为 APM 领域的主流。 作者:夏明(涯海) 调用链记录了完整的请求状态及流转信息,是…

山石网科发布数据安全综合治理体系,覆盖数据全生命周期

编辑 | 宋慧 出品 | CSDN 云计算 11月24日,在“从一维到多维 ,让数据安全有章可循——山石网科数据安全综合治理体系发布会”上,山石网科面向全行业推出《数据安全治理白皮书》,并向企业侧正式发布全新的数据安全治理体系和数据安…

android 获取cpu使用率_超详细的zabbix监控windows磁盘IO及cpu使用率教程

概述今天主要介绍怎么用zabbix来监控windows CPU使用率及磁盘IO,下面一起来看看吧~1、监控Windows-CPU使用率1.1、创建模板在zabbix中,默认的模板不带CPU使用率的监控,为减少重复工作率,在template模板下创建一个模板然后模板直接…

深入理解领域驱动设计中的聚合

简介: 聚合模式是 DDD 的模式结构中较为难于理解的一个,也是 DDD 学习曲线中的一个关键障碍。合理地设计聚合,能清晰地表述业务一致性,也更容易带来清晰的实现,设计不合理的聚合,甚至在设计中没有聚合的概念…

jenkins linux 发邮件,linuxea:jenkins pipeline邮件提醒的两种方式(5)

可以通过Mailer Plugin和Email-ext plugin插件发送邮件在pipeline中可以在执行完成进行,通过直接的结果发送失败或者成功,也可以在执行阶段过程中,如果在那个阶段执行失败发送,想看第一中,只发送失败的详细结果&#x…

致青春!一键上线你们专属的云上毕业纪念册

简介: 毕业不说再见,青春不散场!在云端,在一起!在问答https://developer.aliyun.com/ask/321737的留言区域晒出自己「线上环境」部署的毕业纪念册,在6月30号18点之前点赞数前10可以获得我们送出的毕业大礼包…

信息安全≠数据安全,山石网科发布2021《数据安全治理白皮书》

完整的数据安全治理体系,是一个包含了目标、组织、流程、技术等多维度的复杂系统工程。数据安全治理应该侧重四点:数据安全治理是必选项;是一套完整的治理体系问题;是多维视角的立体建构能力;是建立数据全生命周期的多…

dynamo python修改多个参数_40岁小白学了30天python发现,编程真的其乐无穷

今天是十一哥学python的第30天。时间过得挺快,感觉第一篇学习心得写了还没多久,这就已经不知不觉写30篇了。从第1集开始,看视频教程、记笔记、截图、写代码,然后写文章、配图、发帖、回复网友留言,以及在学习交流群里跟…

友盟+U-APM 移动应用性能体验报告:Android崩溃率达0.32%,OPPO 、华为、VIVO 崩溃表现良好

简介: 应用性能稳定是良好用户体验中非常关键的一环,而现实情况却是应用崩溃、卡顿、加载缓慢、页面白屏等问题,频频出现在用户的真实体验之中,成为影响业务表现的直接杀手。为此,应用性能管理(APM&#xf…

阿里云张毅萍:构建边缘云全站加速网络体系

简介: 2021年6月9日,亚太内容分发大会暨CDN峰会在北京举行,阿里云边缘云网络高级技术专家张毅萍受邀参会,分享了阿里云在构建边缘云全站加速网络体系的实践,基于边缘云节点支撑各种应用协议的分层传输加速,…

http中的请求头各部分都是什么意思_硬核!30 张图解 HTTP 常见的面试题

每日一句英语学习,每天进步一点点:前言在面试过程中,HTTP 被提问的概率还是比较高的。小林我搜集了 5 大类 HTTP 面试常问的题目,同时这 5 大类题跟 HTTP 的发展和演变关联性是比较大的,通过问答 图解的形式由浅入深的…

Hologres揭秘:高性能原生加速MaxCompute核心原理

简介: Hologres技术揭秘系列持续更新中,本期我们将带来Hologres高性能原生加速查询MaxCompute的技术原理解析。 Hologres(中文名交互式分析)是阿里云自研的一站式实时数仓,这个云原生系统融合了实时服务和分析大数据的…

mfc 消息消息队列概念_消息队列面试连环问

最近我一直扎在消息队列实现细节之中无法自拔,已经写了 3 篇Kafka源码分析,还剩很多没肝完。之前还存着RocketMQ源码分析还没整理。今儿暂时先跳出来盘一盘大方向上的消息队列有哪些核心注意点。核心点有很多,为了更贴合实际场景,…

如何用增长的思维做提效?

简介: 埋点作为记录用户行为的常规手段,伴随着前端技术的发展早已历经春秋,不过直到“增长黑客”系列理论出现,才真正让埋点分析变得内涵丰富且有章可循。 作者 | 金戟 来源 | 阿里技术公众号 埋点作为记录用户行为的常规手段&am…