IDC

如何快速验证您的Kubernetes配置文件?

作者:admin 2021-04-28 我要评论

【51CTO.com快译】如果您一直在试用Kubernetes,就知道这有多难。不仅有许多活动组件,pod和容器配置文件也会相当复杂。这些清单文件变庞大后,您可能很容易忽略...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

【51CTO.com快译】如果您一直在试用Kubernetes,就知道这有多难。不仅有许多活动组件,pod和容器配置文件也会相当复杂。这些清单文件变庞大后,您可能很容易忽略某个重要的配置选项。

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

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

不过有一种较简单的方法。借助kube-score工具,您可以测试YAML文件,检查以下方面:

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

完整的检查列表可以在这里找到:https://github.com/zegl/kube-score/blob/master/README_CHECKS.md。

这款工具非常易于使用,输出将帮助您加强YAML文件的规范,以便没有明显的安全漏洞或畸形的资源。

您如何使用这个方便的工具?下面介绍一下。

您需要什么?

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

如何安装kube-score?

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

  1. wget https://github.com/zegl/kube-score/releases/download/v1.10.1/kube-score_1.10.1_linux_amd64.tar.gz 

注意:请确保检查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更安全可靠一点。

原文标题:How to quickly validate your Kubernetes configuration files,作者:Jack Wallen

【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】


本文转载自网络,原文链接:https://www.51cto.com/

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • 弹性伸缩有什么限制?_弹性伸缩 AS_常

    弹性伸缩有什么限制?_弹性伸缩 AS_常

  • 弹性伸缩一定要搭配弹性负载均衡、云监

    弹性伸缩一定要搭配弹性负载均衡、云监

  • 弹性伸缩是否收取费用?_弹性伸缩 AS_

    弹性伸缩是否收取费用?_弹性伸缩 AS_

  • 弹性伸缩是否会因监控指标突变导致误伸

    弹性伸缩是否会因监控指标突变导致误伸

腾讯云代理商
海外云服务器