开源项目推荐
KDash 是一个用 Rust 构建的简单快速的 Kubernetes 仪表板。它提供了一个终端界面,用于监视和管理 Kubernetes 集群。该仪表板具有多种功能,包括节点指标、资源监视、自定义资源定义、容器日志流式传输、上下文切换等。它还支持不同的主题和键盘快捷键操作。
fubectl 是一个开源项目,旨在减少使用 kubectl 时的重复性交互。它提供了一些便捷的命令和别名,以简化 kubectl 的使用,并增加了一些额外的功能。
Canary checker 是一个基于 Kubernetes 的平台,通过被动和主动(合成)机制来监控应用程序和基础架构的健康状况。
ktail 是一个工具,用于方便地实时查看 Kubernetes 容器日志。它具有比 kubectl logs 更多的功能。该工具支持自动检测新增的 Pod 和容器,并可以同时跟踪多个命名空间中的多个 Pod 和容器。它可以根据名称和标签进行匹配,并默认跟踪一个 Pod 中的所有容器。它具有失败恢复能力,并提供更好的日志格式化和语法高亮功能。
文章推荐
这篇文章探讨了在 Kubernetes 中如何控制 Pod 在节点上的部署位置。它介绍了四种主要的方法来控制 Pod 在 WorkerNodes 上的部署:
- 使用节点污点(Taints)和 Pod 容忍度(Tolerations)
- 使用 Pod 的 nodeName 或 nodeSelector
- 使用节点亲和性(nodeAffinity)和节点反亲和性(nodeAntiAffinity)
- 使用 Pod 亲和性(podAffinity)和 Pod 反亲和性(podAntiAffinity)
此外,文章还涉及了 Pod 拓扑分布约束(Pod Topology Spread Constraints),即根据故障域(如区域、可用性区或节点)的规则来放置 Pod。
这篇文章介绍了如何使用 Sveltos 在 Kubernetes 集群中以受控和有序的方式部署资源。作者指出,在部署 Kubernetes 资源时,有时需要按特定顺序进行部署,例如,在创建某种类型的自定义资源之前必须存在 CustomResourceDefinition(CRD)。Sveltos 可以通过允许您指定 Kubernetes 资源部署的顺序来解决这个问题。
云原生动态
日前,CNCF 宣布 KEDA 毕业。
KEDA(Kubernetes Event-Driven Autoscaling,Kubernetes 事件驱动自动缩放器)是一个专门为 Kubernetes 设计的事件驱动自动缩放器,可以轻松地添加到 Kubernetes 集群中以扩展应用程序。
该项目始于 2019 年,是微软和红帽的合作项目。它于 2020 年 3 月被接纳为 CNCF 沙箱项目,并于 2021 年 8 月进入孵化器阶段。
云原生计算基金会(CNCF)最近宣布,经过技术监督委员会(TOC)投票,将机器学习(ML)工作流部署到 Kubernetes 上的工具包 Kubeflow 被接受为 CNCF 孵化项目。
Kubeflow 提供开源和 Kubernetes 原生 MLOps 平台,用于为最流行的框架开发和部署分布式机器学习(ML):TensorFlow、PyTorch、XGBoost、Apache MXNet 等。
Kubeflow 由 Google 于 2017 年创建,目前社区拥有 150 家公司、28K+ GitHub Stars、15+ 提交者,自 2017 年以来发布了 15 个版本。
Buoyant 发布了开源 Linkerd 服务网格的更新,使运行在不同 Kubernetes 集群上的 Pod 能够跨扁平网络建立直接 TCP 连接。
此外,Linkerd 2.14 版本现在完全支持 Kubernetes 中添加的网关应用程序编程接口(API),以提供配置资源(例如 HTTP 请求类)的标准机制。