我的账户
码尚云教育

云计算企业项目实战营

亲爱的游客,欢迎!

已有账号,请

如尚未注册?

k8s中的POD

[复制链接]
云客 发表于 2020-10-27 07:59:40 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
Kubernetes(简称k8s)中的Pod是其核心的部署和管理单元。以下是对Pod的详细讲解:

  • 基础概念:

    • Pod是k8s中最小的可部署、可管理的单元。它代表了在集群中运行的一个容器或者一组相关联的容器。
    • 在一个Pod中,所有容器共享相同的网络命名空间,也就是说它们具有相同的IP地址和端口空间,可以访问相同的网络资源和存储资源。
    • Pod的设计理念是让一组紧密相关的容器一起运行,并共享资源和生命周期。
  • Pod的构成:

    • 每个Pod内部都至少包含一个应用容器,这个容器可以是用户自定义的业务容器。
    • 除了应用容器外,Pod中还可能包含一个特殊的“infra container”(也称为pause容器)。这个容器的主要作用是为Pod内的其他容器提供网络和存储资源的共享,以及作为PID=1的进程管理整个Pod容器组的生命周期。
  • Pod的类型:

    • 控制器管理的Pod: 这种类型的Pod由Kubernetes的控制器(如Deployment、ReplicaSet等)进行管理,具有自愈能力。如果Pod出现问题或节点故障,控制器会自动创建新的Pod来替代。
    • 自主式Pod: 这种类型的Pod不被控制器管理,由Kubernetes的调度器直接调度到节点上运行。它们没有自愈能力,一旦Pod终止,不会自动重启。
    • 静态Pod: 静态Pod不由Kubernetes的scheduler调度,而是由kubelet直接管理。它们的配置文件默认放置在/etc/kubernetes/manifests目录中,当文件发生变化时,kubelet会自动创建、更新或删除对应的Pod。静态Pod始终与管理它的kubelet运行在同一节点上。
  • Pod的属性:

    • Metadata: 包含Pod的名称、标签、注解等元数据信息。
    • Spec: 描述Pod的期望状态,包括容器的镜像、环境变量、命令、端口映射、存储卷等配置信息。
    • Status: 显示Pod的实际状态,如容器的状态、启动时间、重启次数、事件记录等。
  • Pod的使用场景:

    • 当需要将多个紧密相关的服务或进程部署在一起时,可以将它们放在同一个Pod中。
    • 对于一些需要共享存储或网络资源的应用,可以通过Pod来实现资源的共享。
    • Pod也可以用于运行单个容器的情况,尽管在这种情况下使用Pod可能会显得有些过度。
  • Pod的生命周期:

    • 创建:通过API服务器创建Pod对象。
    • 调度:调度器根据Pod的资源需求和节点条件将其分配到合适的节点。
    • 启动:kubelet在节点上创建和启动Pod中的容器。
    • 运行:Pod中的容器开始执行其指定的任务。
    • 终止:Pod可以因为各种原因(如完成任务、错误、被删除等)而终止。
    • 清理:Pod终止后,kubelet负责清理其在节点上的资源。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注我们
码尚云云计算培训

客服电话:18710061913

周一至周日: 7:00-24:00

码尚云教育( 陕ICP备2023009934号-2 )

Powered by Discuz! X3.4© 2016-2023 Comsenz Inc.