Kubernetes豆荚:为什么,以及如何

什么是Kubernetes舱?

在Kubernetes架构中,pod是一组的容器,一个共同的目的服务。最小的可部署单元计算,您可以创建和管理在Kubernetes,吊舱可以运行在一个物理机器,叫做一个节点管理Kubernetes集群的一部分。

容器中运行的豆荚使用容器运行时像码头工人,rkt runC。豆荚包含至少一个容器,但当有多个,他们都共享pod的资源,作为一个单一的实体。雷竞技rabet官网

这些共享资源包括存储卷,一雷竞技rabet官网个独特的IP地址分配给豆荚,和一组网络端口。豆荚内容器相互沟通使用本地主机。因此,豆荚是一个独立的“逻辑主机”。

pod不再需要时,当节点资源不足时,或者当节点失败,豆荚雷竞技rabet官网驱逐。根据您的比例配置,Kubernetes可能会自动重新安排pod在另一个节点。

在本文中,您将学习:

Kubernetes Pod生命周期

舱有一个预定的生命周期。豆荚的生命周期的三个主要阶段:

  • 等待朋友当至少一个主容器启动正常。
  • 运行开始时所有容器运行正常。
  • 成功/失败的成功意味着舱完成了任务,失败意味着它过早被打断。

一个额外的容器阶段的价值未知的这意味着pod状态不知道控制器,通常是因为一个通信错误。

在运行阶段,称为每个节点上运行的代理kubelet跟踪集装箱状态和确保所有平稳运行。在错误的情况下,kubelet有时重启容器。无缝Kubernetes可以检测常见故障和恢复pod的健康。

应用程序使用Kubernetes API与豆荚。API可以用来指定豆荚,查询运行吊舱的状态。你可以添加自定义准备数据舱由您的应用程序,如果需要,可以通过访问这些数据API。

豆荚一生

应用程序容器和豆荚是短暂的实体。一旦创建,他们获得一个独特的身份(UID)并保持在他们的计划节点,直到删除或termination-based重启政策。

豆荚将死亡或失败的节点被删除(在超时时间),因为它们无法生存没有节点的资源或维护。雷竞技rabet官网他们不能自我修复或重新安排到另一个节点它需要改变他们的UID。相反,控制器重新启动新的UID的豆荚一个合格的节点。

存储卷和其他pod-related实体的生命周期,如持续的体积(PV),通常是耦合的豆荚,如果它们的存在依赖于一个特定的豆荚。pod是删除的那一刻,所有相关的实体也删除,当创建一个新的豆荚,创建新的相同的实体。

控制器如何帮助管理舱吗?

控制器管理复制、推广、和卫生集群的豆荚。在检测出故障的节点,控制器将寻求反应迟钝的豆荚和替换其他节点。

控制器的主要类型,您将使用在Kubernetes控制器,工作部署,DaemonSet, StatefulSet (ReplicaSet一样,有额外的控制器工作在幕后)。

乔布斯控制器运行一个任务,直到它完成。它控制的类型的工作。部署控制器通常用于无状态,持续应用。StatefulSet控制器用于数据库和其他状态持续应用。DaemonSets用于匹配特定条件的所有节点上运行一个豆荚。

相关内容:阅读我们的指南Kubernetes持久卷

在一个典型的Kubernetes环境,控制器自动创建最豆荚,使用pod中的信息模板。他们可以管理pod的生命周期,确保它的功能符合pod模板的部署要求。

控制器复制豆荚当需要减轻劳累环境或维持吊舱部署中指定的数量。在需要时,它取代失败的豆荚,或清除集群节点当他们完成了他们的任务。

控制器还可以作为交通协调员。豆荚包含几个容器,他们必须依赖和硬件资源分享。雷竞技rabet官网控制器安排这些和协调的执行和终止ofor容器。作为一个例子,pod可能包含一个“init”容器,设置应用程序容器开始运行前的环境应用这是协调控制器。

相关内容:阅读我们的指南Kubernetes自动定量

6种方式创建一个豆荚

有几种方法可以创建一个豆荚Kubernetes -这是最常见的。本节中的代码示例是共享的Kubernetes文档

1。手动创建一个圆荚体

您可以使用Kubernetes Pod对象创建一个手动吊舱。这将创建一个圆荚体没有生命周期管理——如果它崩溃了,它不会重新启动。

手动使用Kubernetes Pod对象创建一个豆荚

2。部署

部署管理ReplicaSets,组相同的豆荚。部署对象会自动创建豆荚,管理pod可伸缩性和可以执行逐步更新吊舱以最少的停机时间。

管理replicasets部署对象

3所示。DaemonSet

DaemonSet添加一个豆荚集群中的一组选定的节点,与现有的豆荚。例如,这允许您添加一个日志组件你所有的节点。

DaemonSet添加一个豆荚一组选定的节点

4所示。工作

工作是用来自动创建豆荚,将运行在有限的时间内,完成指定数量的任务,然后终止。工作对象监视器豆荚生成所需完成的数量,并且可以重新启动失败的豆荚,直到任务完成。

使用自动创建吊舱的工作

5。的计划

计划允许您定义一个时间表,并运行工作,使用Cron定义格式,根据时间表。

使用计划来定义一个时间表和运行工作

6。StatefulSet

StatefulSet允许您部署豆荚“粘性”身份,意味着每个舱都有一个惟一的标识符,维护时重新安排在另一个节点。它还保证吊舱创建的顺序。StatefulSets也可以持久存储卷,在重启的豆荚。

Statefulset部署豆荚

NetApp Kubernetes自动化基础设施与现货

虽然Kubernetes处理pod编制,确保pods总是高度可用和可负担得起的节点是一个连续的基础上充分利用,不是一个简单的任务。

应对这一挑战,从现货现货海洋NetApp释放DevOps团队从繁琐的管理节点集群的工人在帮助降低成本90%。

现货海洋的自动优化提供了以下好处:

  • 容器驱动自动定量以适当的节点匹配最快的豆荚
  • 易于管理的工作负载与不同的资源需求在一个集群中
  • 聪明的装箱对高利用节点和更大的成本效益
  • 成本分配名称空间、资源、注释和标签雷竞技rabet官网
  • 定价模型的最优结合,包括现货、保留和随需应变的计算实例
  • 自动化基础设施空间确保高可用性
  • 自动化的裁员基于实际资源消耗

了解更多关于现货的海洋今天!

Baidu
map