Kubernetes开发实用工具

一些很棒的Kubernetes工具和项目,用于部署、保护和监控Kubernetes集群。


【译文】原文地址
之前我在watch上分享了 2021年顶尖技术和工具,它得到了DevOps和SRE社区的大力支持。所以今天我将列出用于测试和开发的顶尖Kubernetes工具。

Lens

有一段时间,我是个重度GKE用户,特别喜欢它的简单和GCP控制台上的管理仪表盘。对于本地开发,运行Kubernetes社区维护的Dashboard已经能满足大部分需求了。然而,当过渡到管理多云和混合云环境时,我需要一个单一的工具来与GKE、EKS和本地minikube集群交互。

Lens 是一个开源的Kubernetes IDE,可以很容易地在多个集群之间切换,并与已部署的应用程序交互。 Aqua Security也有一个扩展的工具,集成了漏洞测试,使DevSecOps工作流程更容易管理。

Fairwinds Tools

Fairwinds和Aqua security提供了几个有用的Kubernetes工具来验证、扫描和优化应用程序:

  • Polaris:作为dashboard和准入控制器部署,也可以是CLI工具来审计和验证deployment最佳实践(例如你的deployment是否定义了健康检查、是否配置了资源请求约束)
  • Kube-hunter: 查找集群中的安全弱点
  • Kube-bench: 运行CIS Kubernetes Benchmark和标记失败的配置
  • Trivy: 可集成到CI中的容器漏洞扫描工具
  • Goldilocks:使用kubernetes垂直pod自动伸缩来查询各命名空间的资源使用率。

Kyverno

Kyverno是一个CNCF沙箱项目,旨在简化Kubernetes中的策略管理。虽然Kubernetes有管理员和操作员可配置的PodSecurityPolicies和NetworkPolicies,但通常很难正确配置、测试策略和验证资源。Kyverno通过创建一个ClusterPolicy CRD来验证和实施规则来解决这个问题。
一些策略示例:

  • 容器禁用root特权
  • 禁用hostNetwork、hostPort、hostPIID和hostIPC
  • 禁止latest镜像tag
  • 强制deployment打标签

CLI工具

Kubernetes有太多的CLI工具,以下是最有用的:

  • kube-ps1: 将当前Kubernetes上下文和名称空间添加到bash/zsh提示中,以避免与错误的集群交互
  • kubectx + kubens: Kubectx帮助您在集群之间切换,而kubens用于在名称空间之间切换
  • krew: kubectl插件的包管理器(相当于brew, apt)
  • kubectl-neat: 删除Kubernetes在运行kubectl get时添加的冗余信息。这有助于在调试Kubernetes manifest时隐藏我们通常不需要的大多数行(例如,creationTimestamp, uid, dnpolicy,terminationMessagePolicy)。
  • kube-no-trouble: 检测集群中使用废弃的api。在升级cluster之前运行一个完整性检查非常有用
  • helm-mapkubeapis: 更新Helm版本,包含废弃或移除Kubernetes APIs更新。将此与kube-no-trouble结合,不仅可以修复您的应用程序,还可以修复第三方Helm charts。
  • kube-diff** + **helm-diff: diff检查器预览部署用的kubernetes manifest或Helm版本之间的区别

Kube Forwarder

在开发过程中,你很可能在kubernetets集群中部署数据库,而且没有通过kubernetes service暴露服务(例如NodePort、Ingress) Kubectl允许端口转发将这些服务映射到localhost,以便在本地进行交互。这对于一个或两个应用程序是没问题,但当你有多个应用程序时, Kube Forwarder 变得比管理多个终端标签更容易使用。它还可以处理自动重新连接和多集群,如果你需要在开发和qa集群之间切换进行测试,这非常方便。

Kubecost

类似任何云计算服务,在AWS/GCP/Azure上面运行Kubernetes会变得很昂贵。 即使使用可抢占实例对集群进行微调,并使用自动伸缩器来缩减未使用的资源,仍然很容易存在空闲或过度提供的资源。 kubecost监控Kubernetes的支出,并提供成本分配的详细报告。对于大型项目,可能已经有一个团队在密切监控成本支出,但对于个人项目,如果您想避免自己在云计费工具上折腾,那么kubecst是非常优秀的。


Kubespy

Kubespy 是Pulumi的一个工具,通过跟踪Kubernetes API来观察Kubernetes资源的变化。Kubespy提供比kubectl get -w更详细的信息,并在命令行中显示所有更改。我发现这个工具在调试cert-manager和TLS认证问题时很有用,但我确信它可以用于所有其他Kubernetes调试会话。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,012评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,628评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,653评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,485评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,574评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,590评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,596评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,340评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,794评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,102评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,276评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,940评论 5 339
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,583评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,201评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,441评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,173评论 2 366
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,136评论 2 352

推荐阅读更多精彩内容