模板作者:骑着扫把的男孩

能今天做好的事就不要等到明天。以梦为马,学习趁年华。

监控工具k9s

k8s开源管理工具(开源k8s管理工具Top20)(1)

k9s简介

K9s是一个基于终端的UI,可与您的Kubernetes集群进行交互。 该项目的目的是简化浏览,观察和管理已部署应用程序的过程。 K9s持续监视Kubernetes的更改,并提供后续命令以与您观察到的资源进行交互。

仓库地址

https://Github.com/derailed/k9s

popeye

k8s开源管理工具(开源k8s管理工具Top20)(2)

popeye简介

Popeye是一个实用程序,它扫描实时的Kubernetes集群,并报告部署资源和配置的潜在问题。它根据已部署的内容而不是磁盘上的内容对集群进行消毒。

仓库地址

https://github.com/derailed/popeye

包管理krew

k8s开源管理工具(开源k8s管理工具Top20)(3)

Krew是一种工具,可以方便地使用kubectl插件。Krew帮助您发现插件,安装和管理它们在您的机器上。它类似于apt、dnf或brew等工具。今天,Krew上有超过100个kubectl插件。

仓库地址 : https://github.com/kubernetes-sigs/krew

插件kubectx kubens

kubectx 帮助您在集群之间来回切换::

k8s开源管理工具(开源k8s管理工具Top20)(4)

kubens帮助您在Kubernetes命名空间之间平滑切换:

k8s开源管理工具(开源k8s管理工具Top20)(5)

仓库地址: https://github.com/ahmetb/kubectx

kubespy

kubespy是一个小型工具,可让我们轻松地实时观察Kubernetes资源的变化,这源于我们为使Kubernetes部署可在Pulumi CLI中进行预测而所做的工作。 在任何时间运行kubespy,它将持续监视和报告有关Kubernetes资源的信息,直到您杀死它。

k8s开源管理工具(开源k8s管理工具Top20)(6)

仓库地址: https://github.com/pulumi/kubespy

kube-score

kube-score是对Kubernetes对象定义执行静态代码分析的工具。

k8s开源管理工具(开源k8s管理工具Top20)(7)

仓库地址: https://github.com/zegl/kube-score

kubectl-doctor

该插件的灵感来自Brew Doctor :),它将扫描您当前定位的k8s集群,以查看是否有异常或有用的动作点可以报告给您。

该插件不会更改任何状态或配置,它只是扫描和收集信息,而不是以yaml格式报告异常。

仓库地址: https://github.com/emirozer/kubectl-doctor

ktunnel

Ktunnel是一个CLI工具,可在kubernetes群集和本地计算机之间建立反向隧道。 它使您可以将计算机作为服务公开到群集中,或将其公开给特定的部署

k8s开源管理工具(开源k8s管理工具Top20)(8)

仓库地址: https://github.com/omrikiei/ktunnel

kubectl-tree

一个kubectl插件,用于通过ownerReferences上的对象探索Kubernetes对象之间的所有权关系。

k8s开源管理工具(开源k8s管理工具Top20)(9)

仓库地址: https://github.com/ahmetb/kubectl-tree

调试/日志kubetail

kubetail,使您可以将多个Pod中的日志聚合(尾部/跟随)到一个流中。 这与运行“ kubectl logs -f”相同,但要运行多个Pod。

k8s开源管理工具(开源k8s管理工具Top20)(10)

仓库地址 : https://github.com/johanhaleby/kubetail

kubectl-debug

kubectl-debug是一种用于对运行中的Pod进行故障排除的树外解决方案,它允许您在运行中的Pod中运行新容器以进行调试。

仓库地址: https://github.com/aylei/kubectl-debug

stern

Stern允许您在Kubernetes上拖尾多个Pod,并在Pod内尾随多个容器。 每个结果均以颜色编码,以加快调试速度

仓库地址: https://github.com/stern/stern

报警Botkube

BotKube与Slack,Mattermost或Microsoft Teams的集成可帮助您监视Kubernetes集群,调试关键部署并通过对Kubernetes资源进行检查来为标准实践提供建议。 您还可以要求BotKube在k8s集群上执行kubectl命令,这有助于调试应用程序或集群

k8s开源管理工具(开源k8s管理工具Top20)(11)

仓库地址: https://github.com/infracloudio/botkube

校验Polaris

Fairwinds的Polaris可使您的集群顺畅航行。 它会进行各种检查以确保使用最佳实践来配置Kubernetes吊舱和控制器,从而帮助您避免将来出现问题。

k8s开源管理工具(开源k8s管理工具Top20)(12)

仓库地址: https://github.com/FairwindsOps/polaris

goldilocksGoldilocks是一个实用程序,可以帮助您确定资源请求和限制的起点。

仓库地址: https://github.com/FairwindsOps/goldilocks

Helmreckoner

helm的命令行助手。 该实用程序通过多种方式添加了Helm的功能:

  • 创建一个声明式语法来在一个地方管理多个版本
  • 允许从git提交/分支/发布中安装图表

例子:

# course.yml charts: nginx-ingress: namespace: ingress-controllers version: 1.15.1 values: controller.ingressClass: "my-ingress-class-name"

仓库地址: https://github.com/FairwindsOps/reckoner

helmfile

使用helmfile部署Kubernetes Helm Charts

releases: - name: prom-norbac-ubuntu namespace: prometheus chart: stable/prometheus set: - name: rbac.create value: false

helmfile apply

仓库地址: https://github.com/roboll/helmfile

Shipkubevela

KubeVela是一个平台引擎,可让您以最小的努力来设计和交付应用程序。

$ vela up -f https://raw.githubusercontent.com/oam-dev/kubevela/master/docs/examples/vela.yaml Parsing vela.yaml ... Loading templates ... Rendering configs for service (testsvc)... Writing deploy config to (.vela/deploy.yaml) Applying deploy configs ... Checking if app has been deployed... App has not been deployed, creating a new deployment... ✅ App has been deployed Port forward: vela port-forward first-vela-app SSH: vela exec first-vela-app Logging: vela logs first-vela-app App status: vela status first-vela-app Service status: vela status first-vela-app --svc testsvc

仓库地址: https://github.com/oam-dev/kubevela

Helm 加密sealed-secrets

为了将加密安全地存储在公共或私有Git存储库中,可以使用Bitnami的sealed-secrets控制器,并将Kubernetes的秘密加密为SealedSecrets。只有运行在集群中的控制器才能解密密封的秘密,其他任何人都无法获得原始的秘密,即使他们能够访问Git存储库。

k8s开源管理工具(开源k8s管理工具Top20)(13)

# Create a json/yaml-encoded Secret somehow: # (note use of `--dry-run` - this is just a local file!) $ echo -n bar | kubectl create secret generic mysecret --dry-run=client --from-file=foo=/dev/stdin -o json >mysecret.json # This is the important bit: # (note default format is json!) $ kubeseal <mysecret.json >mysealedsecret.json # mysealedsecret.json is safe to upload to github, post to twitter, # etc. Eventually: $ kubectl create -f mysealedsecret.json # Profit! $ kubectl get secret mysecret

仓库地址: https://github.com/bitnami-labs/sealed-secrets

kubernetes-external-secrets

外部秘密Kubernetes运营商从AWS秘密管理器等第三方服务读取信息,并自动将值作为Kubernetes秘密注入。

k8s开源管理工具(开源k8s管理工具Top20)(14)

仓库地址 : https://github.com/external-secrets/external-secrets

,