K8S集群管理 | 4个杀手级工具Get

  1. 云栖社区>
  2. 博客>
  3. 正文

K8S集群管理 | 4个杀手级工具Get

店家小二 2018-12-12 22:47:45 浏览2694
展开阅读全文

想要在一瞬间切换Kubernetes上下文吗?   

想知道快速消耗CPU的pods吗?

以下工具将帮助到你

Kubernetes,作为容器化工作负载的集群管理器,非常流行。当大K担当起负载均衡和作业管理的重任,你就可以把注意力转移到其他事情了。

但几乎每一个开源项目,都处在进程当中。而且几乎每一个参与Kubernetes项目的人都会发现它的缺点、粗糙以及令人头痛的地方。

以下介绍四个工具,它们都将为Kubernetes集群的管理工作减轻负荷。

Kube-applier

Kubernetes取得成功的一个关键是,除了Google,还汲取了其他IT厂商和产品的营养。云存储公司Box在Kubernetes上取得成功并开源了以往用于内部部署的部分工具。kube-applier就是这样一个项目。

作为Kubernetes服务运行的Kube-applier,为Git仓库中托管的Kubernetes集群提供了一组声明性配置文件,并将其持续应用于集群中的pod。无论何时对定义文件进行任何更改,它们都将被自动提取并应用于相关的pod。

这些变化也可以在按时间或者按需求应用。Kube-applier会记录每次运行时的行为,它提供了Prometheus-compatible指标,这样对于它如何影响集群行为你就尽在掌握了。

Kubetop

有时最简单的工具往往是最有用的。用Python编写的Kubetop,列表显示当前所有正在运行的节点、这些节点上所有的pods、这些pods中所有的容器以及相伴随的CPU和内存利用率,类似于Unix / Linux top命令。它不能替代更加详细的日志记录或报告生成工具——它生成的信息特别简洁——但有时对于Kubernetes集群,简洁的报告一览更加重要。

如果你只需要知道是什么在快速消耗您的集群资源,这无疑是一个方便的选择。Kubernetes kubectl也有类似的功能,但Kubetop的输出格式化更整齐。

Kubectx/K8senv

Kubernetes中有“上下文”的概念,指的是带有不同配置数据的离散集群。使用常用的kubectl命令行工具实现切换相当的繁琐笨拙,所以第三方想出了一种瞬间切换上下文的实现方法。

Kubectx是一个简单的shell脚本,Kubectx可以为Kubernetes上下文分配短名称,并使用短名称在它们之间切换。将破折号(-)传递给kubectx,将被切换回以前的内容,而无需记住名称。该脚本还支持完成名称的选项卡,因此用户不必挖掘长名称并手动重新键入。

K8senv是另一个shell脚本,要简单得多,但没有那么强大。例如,它就没有在当前和最后的上下文之间实现翻转的能力。

kubeadm-dind-cluster

如果你想启动一个本地的单节点Kubernetes实例进行测试,Kubernetes提供了一个很好的默认模版:Minikube。但对于那些想要启动多节点集群来测试和开发Kubernetes本身的人,还有另一种选择:Mirantis的kubeadm-dind-cluster(KDC)。

KDC通过使用Kubernetes的kubeadm应用启动一个Docker容器集群,注意并不是虚机。当你在Kubernetes上工作的时候,这将支持更快地集群重启,这样你就可以更快地看到任何代码更改的影响。在一个“没有嵌套虚拟化问题”的持续集成环境中,也可以使用KDC。KDC支持跨平台运行——Linux、MacOS、Windows——并且不需要Go安装,因为它使用了Dockerized构建的Kubernetes。

本文转移K8S技术社区-K8S集群管理 | 4个杀手级工具Get

网友评论

登录后评论
0/500
评论
店家小二
+ 关注