6 种 K8s 协同工具,助你提高工作效率

Kubernetes 是一个功能强大的容器编排平台,用于自动部署、管理和扩缩容复杂的应用程序。官方提供了一款命令行工具 Kubectl,允许用户使用 CLI (命令行界面)与 Kubernetes 集群进行交互。

这些年来,Kubectl 已经与开源社区开发的其他工具深度结合,不仅改善了用户体验,也让我们的生产工作变得更加高效。下面,我将介绍几个方便大家使用 Kubernetes 的有力工具,供大家参考。

为了方便测试以下工具,建议在本机使用 kind 创建一个 Kubernetes 集群,使用 kind 可以便于安装 Kubernetes 集群,并且在结束时容易清理。

# install kindbrew install kind# create clusterkind create cluster --name playground --image kindest/node:v1.21.14

01

K9s

K9s 是一个可以和 K8s 集群进行交互的终端 UI 。它可以轻松浏览你的 namespace、services 、 deployments 等,并持续监视 Kubernetes 的变化,使得管理应用程序变得更加容易。

brew install k9s

02

Popeye

Popeye 是一个开源工具,可以扫描实时的 Kubernetes 集群,并且可以报告部署过的资源及配置的潜在问题。它根据部署的内容来清理群集。通过扫描集群检测出配置错误,并帮助我们保证最佳实践。此外,如果我们的 Kubernetes 集群过载,它会报告分配过多/分配不足的资源,在集群容量不足时发出警告。​​​​​​​

# Installbrew install derailed/popeye/popeye# Runpopeye

03

Kube-bench

Kube-bench 也是一个方便使用的工具,通过 CIS Kubernetes Benchmark 测试中的记录,检查 Kubernetes 集群是否安全部署。​​​​​​​

# Run kube-bench as a job and inspect the logscurl https://raw.githubusercontent.com/aquasecurity/kube-bench/main/job.yaml | kubectl apply -f -# get the logs, replace <kube-bench-95cf7> with your pod idkubectl logs kube-bench-95cf7 -f

Job 运行后,只需选择容器并检查日志即可。同样的,我们在处理群集时可以使用 K9s 快速观察群集。

04

Kubectx
Kubens and fzf

通常情况下,你可能会拥有多套集群,开发/测试/生产,本地或云集群。我们可以使用 Kubectx 和 Kubens 快速地在不同的集群和 namespace 直接切换。除此之外, fzf 提供了交互的方式来切换上下文,因此你不必记住任何集群或 namespace。

  • # Install kubectx, kubens, fzfbrew install kubectx fzf# Switch between namespaceskubens

05

Stern

Stern 允许我们在 Kubernetes 上使用多个 Pod ,帮助我们从不同的 Pod 收集日志,并通过颜色进行区分。

该查询是一个正则表达式,不需要指定确切的 ID,也可以轻松筛选出 Pod 名称。如果一个 Pod 被删除,它就会从尾部移除,如果添加了一个新的 Pod,它会自动被拖到尾部。当一个 Pod 包含多个容器时,Stern 也可以直接查看 Pod 中所有容器的日志,而不必一个个单独查看。​​​​​​​

# Installbrew install stern# stern <keyword>stern deploy

在此示例中有 3 个副本,我们可以通过选择带有关键字的 Pod,来聚合日志。如图所见,每个 Pod 对应不同的颜色。

06

Bat

Bat 可以为我们在 shell 环境中查看 yaml 时,提供语法高亮提示。​​​​​​​

# Install batbrew install bat# Explore themesbat --list-themes# Bat a filebat deployment.yaml

希望本文对大家有用,更多与 Kubernetes 协同好用的软件工具,等待我们一起探索和发现。

参考链接:

[1] kind (k8s.io): https://kind.sigs.k8s.io/

[2] GitHub - derailed/k9s: Kubernetes CLI To Manage Your Clusters In Style!: https://github.com/derailed/k9s

[3] GitHub - derailed/popeye: A Kubernetes cluster resource sanitizer: https://github.com/derailed/popeye

[4] GitHub - aquasecurity/kube-bench: Checks whether Kubernetes is deployed according to security best practices as defined in the CIS Kubernetes Benchmark: https://github.com/aquasecurity/kube-bench

[5] GitHub - ahmetb/kubectx: Faster way to switch between clusters and namespaces in kubectl: https://github.com/ahmetb/kubectx

[6] GitHub - wercker/stern: Multi pod and container log tailing for Kubernetes: https://github.com/wercker/stern

[7] GitHub - sharkdp/bat: A cat clone with wingshttps://github.com/sharkdp/bat


 本文作者 

程锐

云原生研究院产品经理

猜你喜欢

转载自blog.csdn.net/DaoCloud_daoke/article/details/127392373