Kubernetes 工具

发布日期:2026-05-19 10:01:11   浏览量 :0
发布日期:2026-05-19 10:01:11  
0

2026西湖龙井茶官网DTC发售:茶农直供,政府溯源防伪到农户家 

一篇文章详解所有 Kubernetes 工具(以及它们存在的原因)
Kubernetes 生态系统有其发展脉络。每个工具的存在,都是因为仅靠 Kubernetes 本身还不够。

你使用 kubectl 运行所有操作。每天在 5 个命名空间中执行获取 Pod、描述资源、查看日志、进入容器、删除资源、应用配置等操作多达 50 次。这虽然可行,但过程缓慢且痛苦,尤其是每条命令都要加上 -n 命名空间参数。

于是你使用 K9s 或 Lens。这是一个终端用户界面,可以在一个视图中展示整个集群。它允许你切换命名空间和不同的集群,实时追踪日志,进入 Pod 内部执行命令,并完成所有必要的操作。

你从笔记本电脑上使用 kubectl apply 进行部署。有人直接在集群上修改了部署配置,导致运行中的状态与 Git 仓库中的内容不再一致。这就是配置漂移,它在生产环境出现故障之前一直悄无声息。

于是你使用 ArgoCD。Git 成为唯一的真实来源,每次变更都会自动同步到集群,如果任何人手动修改了部署,ArgoCD 会将其覆盖还原。

你的 Kafka 消费者积压了 20 万条消息,CPU 使用率仅为 5%,水平 Pod 自动伸缩器(HPA)认为没有理由进行扩容。队列持续增长,用户正在等待。

于是你使用 KEDA。它根据队列深度、简单队列服务(SQS)消息数量或普罗米修斯(Prometheus)指标来伸缩 Pod,而不仅仅依赖 CPU。积压的消息得以清除。

在流量高峰期间,水平 Pod 自动伸缩器(HPA)增加了 Pod,但节点已满,新 Pod 处于“待处理”状态。HPA 完成了它的工作,但集群无处安置这些 Pod。

于是你使用 Karpenter。当 Pod 卡在“待处理”状态时,新的节点会在几秒钟内出现,并在负载下降时消失。你只需为实际使用的资源付费。

默认情况下,每个 Pod 都可以与其他任何 Pod 通信。你的支付服务可以访问数据库,内部工具可以访问日志服务,除非你明确阻止,否则没有任何流量被拦截。

于是你使用网络策略。你的数据库只接受来自应用程序的流量,拒绝其他所有流量,从而大幅缩小受损 Pod 的影响范围。

你有 20 个微服务,其中一个开始响应缓慢,重试请求在其他 4 个服务中堆积。级联故障开始了,由于所有流量都是不可见的,你无法看清故障始于何处。

于是你使用服务网格。Istio 或 Linkerd 在每个 Pod 旁边放置一个边车代理,为你提供每个服务之间的双向传输层安全协议(mTLS)、重试机制、熔断功能以及流量指标,而无需修改任何一行应用程序代码。

你的密钥在 Kubernetes 中以 Base64 编码存储,位于 etcd 中,任何拥有 kubectl 访问权限的人都可以读取。你希望将它们存储在 Vault 或亚马逊云科技(AWS)密钥管理器中,但不想重写应用程序来获取它们。

于是你使用密钥存储容器存储接口(CSI)驱动程序。密钥存储在 Vault 或亚马逊云科技(AWS)密钥管理器中,并作为文件直接挂载到你的 Pod 中。密钥永远不会存储在 Kubernetes 中。

一名开发人员发布了一个以 root 用户身份运行的容器,另一名开发人员发布的容器没有设置资源限制,而你总是在事故发生后才发现。每次都如此。

于是你使用 Kyverno。在任何东西进入集群之前,在准入阶段强制执行策略:禁止 root 容器,禁止没有摘要的镜像,禁止没有资源限制的部署。

出问题了。Pod 正在重启,延迟飙升,内存占用不断攀升,但你没有数据,没有历史记录,也无法知道问题何时开始。

于是你使用 Prometheus 和 Grafana。Prometheus 从每个 Pod、节点和组件中抓取指标

免责声明:本文内容来自互联网,该文观点不代表本站观点。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请到页面底部单击反馈,一经查实,本站将立刻删除。

关于我们
热门推荐
合作伙伴
免责声明:本站部分资讯来源于网络,如有侵权请及时联系客服,我们将尽快处理
支持 反馈 订阅 数据
回到顶部