专栏首页云原生实验室Awesome Kubernetes 系列:第一期

Awesome Kubernetes 系列:第一期

本人是一个资源狂魔,不管是云原生领域还是个人生活,每天都能接触到各种各样的神奇宝贝。当然这种东西取决于一个人的信息搜集能力,以后我会专门写文章给大家讲。由于我的收藏夹里有太多的东西了,我就想着把它们分享出来,一来可以造福大众,二来可以方便自己后续查找。我把这个系列定义为『Awesome Kubernetes 系列』,以云原生相关的项目和工具为主,当然可能还会夹杂少部分为个人工作和生活带来便利的资源分享。该系列的更新频率不确定,凑够了一波资源就发,这是第一期分享。

Kuberhealthy[1]

Kuberhealthy 是对 Prometheus 的一种补充监控方案,通过 Operator 来控制状态,你可以对 Kubernetes 的资源进行聚合监控,比如:

  • 哪个节点上的 Pod 因为 CNI 问题处于 Terminating 状态。
  • 哪个节点上的 Pod 因为存储问题处于 ContainerCreating 状态。
  • 哪个节点上的 Pod 因为容器运行时的原因处于 Pending 状态。
  • 哪个节点上的 Kubelet 或 Docker 组件虽然通过了健康检查,但还是有问题。
  • kube-system namespace 中的某个 Pod 重启次数太频繁。
  • 等等

Kuberhealthy 的重点不是一大堆永无止境的监控指标,而是具象化成某一个具体的现象,然后暴露出 prometheus 格式的指标,也提供了简单的 JSON 状态页面。

Gemini[2]

Gemini 通过 Operator 来管理 PV(PersistentVolumes)的快照,比如创建快照来备份 PV,也可以通过快照来创建新的 PV。

kubectl-prune[3]

kubectl-prune 是一个 kubectl 插件,用来清除未使用的 Kubernetes 资源,类似于 Docker 的 prune 参数,只不过这里清理的是 Kubernetes 中的对象资源,比如 ConfigMapSecretHorizontalPodAutoscaler 等。

crun[4]

crun 是 Red Hat 用 C 语言编写的内存占用极低的底层容器运行时,符合 OCI 容器运行时[5]的规范,对标 runc[6]

goldilocks[7]

goldilocks 会为指定 namespace 的每一个 Deployment 创建一个 VPA,然后根据 VPA 给出推荐的 RequestsLimits。需要提前部署好 vertical-pod-autoscaler[8]

Ktunnel[9]

Ktunnel 是一个 CLI 工具,它可以在 Kubernetes 集群和本地机器之间建立一个反向隧道,将你的本地服务作为 Kubernetes 中的 Service 暴露出去,这样就可以在 Pod 中直接访问本地的服务了。

kube-netc[10]

kube-netc 使用 eBPF 技术来监测集群中的网络流量。

kmoncon[11]

kmoncon 会通过 DaemonSet 部署一系列 agent 来频繁执行测试,并上报给 Controller,然后由 Controller 暴露出节点之间连通性相关的指标。

额外福利

Portmaster[12]

Portmaster 是一个 APP,可以强制让你的系统使用 DNS-over-TLS,不止是浏览器哦,当然还有一些其他功能,我就不一一介绍了。目前只支持 WindowsLinux,MacOS 版本还在开发中。

参考资料

[1]Kuberhealthy: https://github.com/Comcast/kuberhealthy

[2]Gemini: https://github.com/FairwindsOps/gemini

[3]kubectl-prune: https://github.com/micnncim/kubectl-prune

[4]crun: https://github.com/containers/crun

[5]OCI 容器运行时: https://github.com/opencontainers/runtime-spec

[6]runc: https://github.com/opencontainers/runc

[7]goldilocks: https://github.com/FairwindsOps/goldilocks

[8]vertical-pod-autoscaler: https://github.com/kubernetes/autoscaler/tree/master/vertical-pod-autoscaler

[9]Ktunnel: https://github.com/omrikiei/ktunnel

[10]kube-netc: https://github.com/nirmata/kube-netc

[11]kmoncon: https://github.com/Stono/kconmon

[12]Portmaster: https://github.com/safing/portmaster/

本文分享自微信公众号 - 云原生实验室(cloud_native_yang),作者:米开朗基杨

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-08-19

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 教你如何优雅地魔改 Grafana 主题,太实用了!

    难道没有别的办法了?办法还是有的,只不过稍微有点繁琐,但不复杂。今天就来给大家分享一种不需要改源码的方法,老少皆宜,按照我的步骤来,最后一定能搞定。这里不得不提...

    米开朗基杨
  • Kubernetes 源码剖析之 WorkQueue 队列 | 文末送书

    在 Kubernetes 系统中,组件之间通过 HTTP 协议进行通信,在不依赖任何中间件的情况下需要保证消息的实时性、可靠性、顺序性等。那么 Kubernet...

    米开朗基杨
  • Envoy 中文指南系列:Envoy 介绍

    Envoy 是专为大型现代 SOA(面向服务架构)架构设计的 L7 代理和通信总线,体积小,性能高。它的诞生源于以下理念:

    米开朗基杨
  • 甲方安全开源项目收集

    前阵子,我发布了一份甲方安全开源清单,不少朋友帮忙反馈,得到了大大的补充,重新整理了一份项目清单。

    Bypass
  • 【杂谈】从GitHub上星星最多的男人开始发GitHub综述资料

    没错,项目名字就叫Awesome。这第一个简直就是最“丧心病狂”的综述,10万+星星,要把所有方向一并索引了,自己当目录。

    用户1508658
  • 盘点 Shiny 中的各种主题和 UI 插件

    •shinythemes https://github.com/rstudio/shinythemes - 在 Shiny 中 使用 Bootswatch 主题...

    生信菜鸟团
  • Github上收集了70个微信小程序源码

    1:仿豆瓣电影微信小程序 https://github.com/zce/weapp-demo

    王小婷
  • Python | Github 收藏夹(#week05)

    PyStaData
  • Python | Github 收藏夹(#week04)

    PyStaData
  • Python | GitHub 收藏夹

    PyStaData

扫码关注云+社区

领取腾讯云代金券