当在一个项目中使用Kubernetes和Terraform时,我对它们的个别角色感到有点困惑。
直到最近,我对他们的目的和对我有意义的一切都有了非常清楚的理解。但是,,我在 娜娜在Terraform上的视频中听说,Terraform在编排方面也非常先进,我对感到困惑。
以下是我目前对这两种工具的理解:
澄清:
根据RedHat的说法,“业务流程是自动化的配置、管理和基础设施协调。
例如,如果我们手动将Docker容器描述为资源,然后删除Docker容器,则需要再次手动运行Terraform计划,以便重新部署Docker容器。要自动处理这个问题,这就是Kubernetes发挥作用的地方(编排)。
那么,当我们说Terraform是一个很好的编曲工具时,我们到底在说什么呢?
我希望有人能帮我清除掉这一切!
发布于 2022-05-07 01:04:08
Terraform是作为代码工具的基础结构,它允许将资源及其期望的状态声明为代码,它将确定计划并执行该计划,以将基础设施带入所需的状态。Terraform需要提供程序来使用各自的API来管理这些资源。一旦提供了资源,terraform就无法保持所需的状态,除非您再次运行terraform计划来确定资源是否处于所需的状态,并将脚本应用到所需的状态。
另一方面,kubernetes是专家,负责协调容器工作负载,负责在整个资源生命周期中将工作负载保持在所需的状态。它持续监视集群并进行更改,以保持所需的工作负载状态。
两者之间的主要区别是kubernetes是一个容器编排平台,它管理所需的容器工作负载状态和许多其他特性。而terraform是一种工具,它帮助您编写、提供和维护资源的状态作为代码。它通过识别当前状态和所需资源状态之间的差异,使用提供程序API创建匹配所需状态的资源。
地形和库伯奈特都可以一起使用。terraform有kubernetes提供程序,它可以帮助您定义集群资源的所需状态。一旦应用了terraform状态,kubernetes就会负责维护所需的状态。
Kubernetes非常特定于容器工作负载编排,而terraform可以用于处理任何资源状态管理,如提供云资源、服务器资源或提供terraform提供程序来管理资源的任何东西。
为了更好地理解不同之处,我可以想到一个简单的例子:您可以使用terraform和docker提供程序来声明您想要创建一个容器,并且一旦应用到状态容器上,它就会旋转,但是如果您删除了容器,它将不会自动重新创建,除非您再次运行terraform计划,该计划将确定与所需状态和应用的差异,从而重新创建容器。要解决维护所需的容器工作负载状态这一特定问题,kubernetes编排会有所帮助。Kubernetes有更多的特性和灵活性,而不仅仅是容器编排,但这是容器编排的核心思想。
我希望这能帮助你理解不同之处。如果我的理解有误,请纠正我。
发布于 2022-05-08 09:16:27
这两种工具与它们在任何项目中定义的用法不同。
Terrraform工具:在云或onprem中提供基础设施。可以在一定程度上推送它来创建Docker主机并运行Docker容器,其限制在那里结束。
Kubernetes集装箱编配工具: kubernetes是一种集装箱编配工具,它负责集装箱、吊舱联网、负载平衡、通过服务、入口等向外界公开。
希望这能有所帮助。干杯
https://stackoverflow.com/questions/72148216
复制相似问题