乐趣区

关于kubernetes:如何快速验证您的Kubernetes配置文件

如果您始终在试用 Kubernetes,就晓得这有多难。不仅有许多流动组件,pod 和容器配置文件也会相当简单。这些清单文件变宏大后,您可能很容易疏忽某个重要的配置选项。

这么说吧:配置谬误的 Kubernetes 清单文件可能会导致平安问题,甚至可能害您多花钱,尤其是将 pod 部署在像 AWS 或谷歌云这些云托管服务上时,您须要为应用的服务付费。如果 pod 配置不当,会过多地应用一种或多种资源,因此耗用您的每月估算。

何不花工夫检查一下配置文件? 因为那很耗时。

不过有一种较简略的办法。借助 kube-score 工具,您能够测试 YAML 文件,查看以下方面:

  • 入站针对服务
  • CronJobs 有已配置的截止日期
  • 所有 pod 都已设置资源限度和申请
  • 所有 pod 都已设置与资源限度同样的资源申请
  • 所有 pod 都已设置与限度同样的 CPU 申请
  • 应用显式的非最新标签
  • pullPolicy 被设置为 Always
  • 所有 StatefulSet 都由 PDB 规定了指标

残缺的查看列表能够在这里找到:https://github.com/zegl/kube-…。

这款工具十分易于应用,输入将帮忙您增强 YAML 文件的标准,以便没有显著的安全漏洞或畸形的资源。

您如何应用这个不便的工具? 上面介绍一下。

您须要什么?

  • Kubernetes 的运行中实例
  • 领有 sudo 特权的用户

如何装置 kube-score?

这很容易,因为 kube-score 是个简略的二进制文件。我将在 Ubuntu Server 20.04 上进行演示。要在该平台上装置 kube-score,请登录进入到服务器,应用以下命令下载必要的文件:

  1. wget https://github.com/zegl/kube-…

留神:请确保查看 kube-score 版本页面,确保下载的是最新版本。

应用以下命令解压缩 tar 文件:

  1. tar xvzf kube-score_1.10.1_linux_amd64.tar.gz

当初,您应该在当前工作目录中看到 kube-score 文件。无妨用以下命令挪动它:

  1. sudo mv kube-score / usr / local / bin

您已筹备好查看清单文件了。

如何应用 kube-score?

应用 kube-score 异样简略。假如您想要查看文件 test.yaml。转入到含有 test.yaml 文件的目录,而后执行以下命令:

  1. kube-score test.yaml

对于发现的任何问题,输入后果会列出 WARNING 或 CRITICAL(图 A)。
图 A. 查看测试 YAML 文件的 kube-score 输入

这时,您能够分明地看到 YAML 文件中哪些配置须要留神。确保部署之前解决了那些问题。

如果您有运行中的容器或 pod,能够应用以下命令对它们运行 kube-score:

  1. kubectl api-resources –verbs=list –namespaced -o name | xargs -n1 -I{} bash -c “kubectl get {} –all-namespaces -oyaml && echo —” | kube-score score –

这样一来,您可能会发现内容多得多的输入 (图 B)。


图 B. 对 Kubernetes 集群内的运行中容器应用 kube-score

当然,kube-score 并非完满,它可能无奈运行您须要的特定查看——确保查看残缺的查看列表,看看它的查看对您来说是否足够残缺。即便它无奈查看您须要的内容,kube-score 在验证 YAML 文件方面也要比手动查看好得多,尤其是在您有泛滥简单清单文件的状况下。

试一下 kube-score,看看它是不是使您部署的 Kubernetes 更安全可靠一点。

退出移动版