什么是 Pod?

pod (1) (5).jpgPod 是 Kubernetes 中最小、最基本的可部署对象。 Pod 代表集群中正在运行的进程的单个实例。

Pod 包含一个或多个容器,例如 Docker 容器,具有共享存储和网络资源,以及如何运行容器的规范。

Pod 可以被认为是一个锅,所有的食物(任务)都被煮熟了😂。

Pod 用于运行集群应用程序的单个功能,但建议不要直接创建单个 Pod。通常会创建一组相同的 Pod,称为 replicas,并由控制器管理器管理。控制器管理器管理其分配的 pod 的生命周期以执行水平扩展。

Pod 一旦创建就一直存在于节点中,直到任务完成,如果 Pod 失败,它会被自动删除。

Pod 生命周期

Pod 的生命周期很短,一旦删除就无法恢复。 Pod 只能由用户或控制器终止。

可以使用查看集群中现有的 Pod

kubectl get pod

可以在STATUS列下查看 Pod 的状态,一般显示如下结果。

吊舱状态.PNG

  • 待处理: 当一个 pod 已创建但它的容器正在加载时。

  • Running: 表示pod的容器已经创建,其中一个容器处于运行状态。

  • **成功:**当 Pod 中的所有容器都已成功终止时。

  • Failed: 当一个容器在失败中终止并且所有其他容器已经在 Pod 中终止。

  • Unknown: Pod 状态未知时。

了解有关 Pod 运行的完整信息

kubectl get pod [Pod_Name] -oyaml.

status.png

存储与网络

  • 存储

每个应用程序都需要一些数据来执行任务,但从一开始就不是这样。在早期,容器是为无状态应用程序设计的,即不需要数据,但现在我们使用有状态应用程序来存储数据库。

但是怎么做? Pod 是短暂且无状态的。然后引入了 volumes 的概念,它与存储 Pod 生命周期之外的数据的容器相关联。此数据是持久的,并用于在 pod 死亡时创建的其他 pod。

vol types.jpg

  • 联网

每个 Pod 都有一个唯一的 IP 地址,并且所有其他 Pod 和 K8s 集群都知道。在 Pod 内部,与该 Pod 关联的容器使用localhost进行通信。

网络分为 3 种类型:

  • Pod 网络Pod network.png

  • 服务网络服务类型.png

  • 入口网络入口网络.png

参考这个

恭喜!! 🎉 现在您了解了 Kubernetes 架构并准备学习新主题。

快乐学习🕺

🤝让我们一起交流学习:

推特

Logo

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

更多推荐