Kubernetes教程


1 Kubernetes 基础知识

    1.1 Kubernetes 相关术语

    1.2 Kubernetes 架构

    1.3 容器技术发展史

    1.4 kubernetes 入门文档

    1.5 Kubernetes kubectl 介绍

    1.6 Kubernetes Pod 介绍

Kubernetes Pod 介绍

Kubernetes Pod 介绍

Pod是在K8S集群中运行部署应用或服务的最小单元,Pod由一个或多个容器组成。多个容器在一个Pod中共享网络地址和文件系统,可以通过进程间通信和文件共享这种简单高效的方式组合完成服务。

Pod是Kubernetes的最重要概念,每一个Pod都有一个特殊的被称为“根容器”的Pause容器。Pause容器对应的镜像属于Kubernetes平台的一部分,除了Pause容器,每个Pod还包含一个或多个紧密相关的用户业务容器。

Pod 的存在意义

K8S不会直接处理容器,而是通过Pod,Pod是由一个或多个容器组成。创建容器使用docker,一个docker对应一个容器,一个容器运行一个应用进程。Pod的存在主要是为了更方便的交互:

  • 两个或多个应用之间进行交互
  • 网络之间的调用【通过127.0.0.1 或 socket】
  • 两个应用之间需要频繁调用

Pod是K8S集群中所有业务类型的基础,可以把Pod看作运行在K8S集群上的小机器人,不同类型的业务就需要不同类型的小机器人去执行。目前K8S的业务主要可以分为以下几种

  • 长期伺服型:long-running
  • 批处理型:batch
  • 节点后台支撑型:node-daemon
  • 有状态应用型:stateful application

Pod中镜像拉取策略

拉取策略主要分为了以下几种:

  • IfNotPresent:默认值,镜像在宿主机上不存在才拉取
  • Always:每次创建Pod都会重新拉取一次镜像
  • Never:Pod永远不会主动拉取这个镜像

Pod的重启策略

Pod中包含了很多个容器,假设某个容器出现问题了,那么就会触发Pod重启机制。重启策略主要分为以下三种:

  • Always:当容器终止退出后,总是重启容器,默认策略 【nginx等,需要不断提供服务】
  • OnFailure:当容器异常退出(退出状态码非0)时,才重启容器,正常退出时,不会重启。
  • Never:当容器终止退出,从不重启容器 【批量任务】

注:当控制器是job或者是cronjob时,重启策略只能是OnFailure和Never。

参考:

https://blog.csdn.net/m0_46090675/article/details/121924434