Kubernetes 是一个强大的容器编排平台,用于自动化复杂应用程序的部署、管理和扩展。它通常带有kubectl客户端工具,允许用户使用 CLI(命令行界面)与 Kubernetes 集群进行交互。
多年来,kubectl一直与开源社区开发的工具相结合,以改善用户体验。我们将在这里列出五种与 Kubernetes 一起工作的最强大和最有效的工具。
代码语言:javascript复制要测试以下工具,我建议您使用kind[1]构建一个 Kubernetes 游乐场。这是一种在本地使用集群并在完成后进行清理的简单方法。
# install kind
brew install kind
# create cluster
kind create cluster --name playground --image kindest/node:v1.21.14
1. K9s
一个非常有用的终端 UI,K9s[2]绝对是我的首选。非常易于使用,直观,它会持续监视集群,并允许您通过命名空间、服务、部署等轻松探索 pod。单击即可进入 pod、检查日志、描述、编辑或端口转发。我将它与我 kubectl 照常运行的另一个 shell 结合使用,以便我可以从两个接口中获得最大收益。
代码语言:javascript复制brew install k9s
2. Popeye
用于清理 Kubernetes 集群的彩色工具,Popeye是一个开源工具,可查找任何不一致、生成报告并对集群进行评级。
代码语言:javascript复制# Install
brew install derailed/popeye/popeye
# Run
popeye
3. Kube-bench
Kube-bench 是另一个方便的工具,可以检查您的 Kubernetes 集群是否已安全部署。您可以这里[3]找到项目存储库。
代码语言:javascript复制# Run kube-bench as a job and inspect the logs
curl https://raw.githubusercontent.com/aquasecurity/kube-bench/main/job.yaml | kubectl apply -f -
# get the logs, replace <kube-bench-95cf7> with your pod id
kubectl logs kube-bench-95cf7 -f
运行后,只需选择 pod 并检查日志。同样,您可以在处理集群时使用 K9s 快速观察集群。
4. Kubectx、Kubens 和 fzf
您正在处理许多集群,dev/stg/prod,还有本地,云……让我们使用kubectx和 kubens 在不同的上下文和命名空间之间快速切换。此外,fzf提供了一种在选项之间切换的交互方式,无需编写或记住上下文或命名空间。
代码语言:javascript复制# Install kubectx, kubens, fzf
brew install kubectx fzf
# Switch between namespaces
kubens
5. Stern
一个不可或缺的日志聚合器,Stern[4]将帮助您收集来自不同 pod 的日志并通过颜色区分它们。
代码语言:javascript复制# Install
brew install stern
# stern <keyword>
stern deploy
在这个例子中,我们有 3 个副本deploy-demo。我们可以通过选择带有关键字的 pod 来聚合日志deploy。如图所示,每个 pod 对应不同的颜色。
再推荐一个:Bat
如果您想直接从 shell 快速检查文件(尤其是 yaml), Bat[5]非常有用。Bat 支持主题和其他非常好的功能,例如git集成,可以去探索一下!
代码语言:javascript复制# Install bat
brew install bat
# Explore themes
bat --list-themes
# Bat a file
bat deployment.yaml
本文译自: 5 Tools That Will Boost Your Productivity with Kubernetes[6]作者:Giuseppe Laguteta
引用链接
[1]
kind: https://kind.sigs.k8s.io/
[2]
K9s: https://github.com/derailed/k9s
[3]
这里: https://github.com/aquasecurity/kube-bench
[4]
Stern: https://github.com/wercker/stern
[5]
Bat: https://github.com/sharkdp/bat
[6]
5 Tools That Will Boost Your Productivity with Kubernetes: https://medium.com/@glaguteta/5-tools-that-will-boost-your-productivity-with-kubernetes-1ecaf5477f6d