关于Kubernetes

Kubernetes(也称为 k8s 或“kube”)是一个开源容器编排平台,可自动化部署、管理和扩展容器化应用程序所涉及的许多手动流程。

您可以将运行容器的主机组集群在一起,Kubernetes 可以帮助您轻松高效地管理这些集群。

Kubernetes 集群可以跨越本地、公共、私有或混合云中的主机。因此,Kubernetes 是托管需要快速扩展的云原生应用程序的理想平台。

简而言之,Kubernetes 是一种工具,可帮助您管理、扩展应用程序并将其部署到多台机器上。

Kubernetes 问题

正如我们大多数人所知,Kubernetes 上的部署失败消息很复杂,调试起来不直观。用户需要从 pod 日志、pod 事件(描述 pod)、pod 状态等中识别错误。开发人员花费大量时间和精力来揭开 K8s 抛出的神秘消息的神秘面纱,这些宝贵的时间本来可以用于构建核心功能的应用程序。

科莫多进入

Komodor 在这里通过处理 k8s-Native Troubleshooting 使事情变得有趣,这样开发人员可以节省大量实际开发时间,而不是浪费数小时的宝贵时间进行故障排除并专注于构建有趣的东西。

Komodor 跟踪整个 K8s 堆栈中的更改,分析它们的连锁反应,并为您提供有效且独立地进行故障排除所需的上下文。在 Komodor 的主仪表板中,您可以:-

1.实时监控微服务的健康状态以及哪些资源没有运行。一站式仪表板,具有漂亮的用户界面。

  1. 事件日志跟踪随着时间的推移所做的更改以及随着时间的推移发生的部署。

开始使用 Komodor 之前的先决条件

Helm帮助您管理您的 Kubernetes 应用程序,确保在继续之前在您的系统中安装了 helm。

这是 Helm 安装文档的链接:-https://helm.sh/docs/

科莫多入门。

当您最初登录 komodor 时,您会看到一个显示“无服务”的空白屏幕。

[图像描述](https://res.cloudinary.com/practicaldev/image/fetch/s--iq37GUr7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to- uploads.s3.amazonaws.com/uploads/articles/849jin8d4491o25lryoz.png)

无需担心,因为到目前为止您还没有将 Komodor 与您的 kubernetes 集群连接起来。

在集成页面的左下方,您会看到一个 kubernetes 图标,上面写着“添加集群”。点击那个。

这一步很重要,因为您要让 Komodor 知道您的集群名称,以便他们可以开始集成到您的集群。

[图像描述](https://res.cloudinary.com/practicaldev/image/fetch/s--PZ-Rm8FQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev- to-uploads.s3.amazonaws.com/uploads/articles/9uj4k6pxvtsrxn3rqzba.jpg)

现在将打开一个小窗口,您必须在其中输入您的集群。输入你的 K8s 集群名称,它可以是旧的,也可以是新的。

[图像描述](https://res.cloudinary.com/practicaldev/image/fetch/s--DkCkhF4n--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to- uploads.s3.amazonaws.com/uploads/articles/jzsmobbrea056zhov1mi.png)

现在您将在右侧获得一个命令和一个图标“复制”图标。单击图标以便复制命令。现在打开系统的命令行并运行命令。 [注意:- 确保 Helm已安装在您的系统中,否则它将无法工作]

[图像描述](https://res.cloudinary.com/practicaldev/image/fetch/s--zOQnvs0d--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to- uploads.s3.amazonaws.com/uploads/articles/e0mgd914lj20h546kbi0.png)

[图像描述](https://res.cloudinary.com/practicaldev/image/fetch/s--TniYUPl6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to- uploads.s3.amazonaws.com/uploads/articles/x75ei85ihyxfdg8rtskp.png)

如果您看到上图所示的窗口,那么恭喜 Komodor 已添加到您的集群中并且它已经开始工作了。现在,您可以监控在 k8s 上运行的微服务的运行状况和事件日志。

[图像描述](https://res.cloudinary.com/practicaldev/image/fetch/s--5Y7byXdm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to- uploads.s3.amazonaws.com/uploads/articles/85yn3o0mjrpsuwu7jkwk.png)

[图像描述](https://res.cloudinary.com/practicaldev/image/fetch/s--0wt49y6H--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to- uploads.s3.amazonaws.com/uploads/articles/fv0n0ndya17xdytasjzw.png)

您应该检查的 Komodor 集成

Komodor 有许多集成,使您的整个 k8s 故障排除更有效率。集成 Slack 就是这样一个绝妙的主意,这样您就可以在设备上获得有关集群运行状况和事件的实时通知。它使您的 DevOps 体验更加高效。他们有许多集成,如 Github、Gitlab、Datadog、Slack、Sentry、MS Teams、Okta、Grafana 等等。

顶部樱桃:ValidKube

ValidKube是 komodor 新推出的开源工具,它结合了多种工具,可以更轻松地验证、清理和保护 Kubernetes YAML 配置文件。

ValidKube 是一个基于浏览器的工具,这意味着任何愿意尝试它的人都可以立即访问它,而无需安装单独的工具。它有 4 个工具可以在 Github 上找到。只需输入 YAML 并让 ValidKube 处理其余部分。

1\。证实

使用 ValidKube,您可以验证您的 YAML 文件。它可以帮助您修复缩进,还可以根据实际的 YAML 和 Kubernetes 架构添加、删除和重新排列事物。它作为 Kubeval 的开源存储库提供。

https://github.com/instrumenta/kubeval

通过运行 ValidKube 提供的 YAML 文件,您将看到以下输出:

[图像描述](https://res.cloudinary.com/practicaldev/image/fetch/s--cfUEWosH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to- uploads.s3.amazonaws.com/uploads/articles/txr0mzr7qucxdq9h8lwa.png)

干净的

现在让我们来谈谈如何使用 ValidKube 的“清理”功能通过即时点击清理和增强您的 YAML 文件。它的存储库 kubectl-neat 是https://github.com/itaysk/kubectl-neat

它的工作原理如下图所示:-

[图像描述](https://res.cloudinary.com/practicaldev/image/fetch/s--fbmDtU4I--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to- uploads.s3.amazonaws.com/uploads/articles/mgkxr9flkm6g4xxt9fa1.png)

安全的

Kubernetes 清单需要安全,而 ValidKube 在 Aquasec 团队的帮助下帮助我们实现了这一目标。上面提到的相同的 YAML 文件,我们将通过 ValidKube 的“安全”功能运行它,让我们看看结果:

[图像描述](https://res.cloudinary.com/practicaldev/image/fetch/s--Vl-bnHr8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev- to-uploads.s3.amazonaws.com/uploads/articles/lv7vz2uskscn3su7wbs0.png)

它的开源存储库被命名为 trivy,它的存储库是https://github.com/aquasecurity/trivy

北极星

Fairwind 的 Polaris 是 ValidKube 系列的最新成员,可让您的集群顺利航行。它运行各种检查以确保使用最佳实践配置 Kubernetes pod 和控制器,从而帮助您避免将来出现问题。

Polaris 可以在三种不同的模式下运行:

  • 作为仪表板,您可以审核集群内运行的内容。

  • 作为准入控制器,您可以自动拒绝不符合组织策略的工作负载。

  • 作为命令行工具,您可以测试本地 YAML 文件,例如作为 CI/CD 流程的一部分。

[图像描述](https://res.cloudinary.com/practicaldev/image/fetch/s--nJtfOIS5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to- uploads.s3.amazonaws.com/uploads/articles/fqkc45hfgrmqegd5gvhy.png)

它的开源存储库是https://github.com/FairwindsOps/polaris

ValidKube 的所有功能都是开源的,因此请随时为 ValidKube 添加更多工具和功能。为所有存储库加注星标,因为它会激励开发人员做更多事情。

这是一篇博客,灵感来自视频由拥有 Devops 频道的 Viktor Farcic工具包

Logo

CI/CD社区为您提供最前沿的新闻资讯和知识内容

更多推荐