pod介绍

K8S及pod相关介绍 K8S基本概念;Pod 概念;Kubernetes ⼯作流程;K8S 创建 Pod 流程; 阅读详情

一、前言

     Pod 是 Kubernetes 中最小的部署单元,它可以包含一个或多个容器,以及共享的存储卷和网络命名空间,Pod 提供了一种抽象,用于组织和管理容器化的应用程序,并提供了一种灵活、轻量级的方式来部署和管理应用程序

二、生命周期

   什么是生命周期,即pod从创建到终止的这段过程就叫生命周期,下面就来介绍以下pod的生命周期过程

   初始化容器>主容器>容器启动后执行的钩子函数>就绪探针>存活探针>容器终止前执行的钩子函数

 pod的生命周期可以使用以下的几种状态概括

Pending(等待中): Pod 已经被 Kubernetes 系统接受,但是容器尚未创建。这可能是因为调度器还未将 Pod 调度到节点上,或者正在等待其他资源的创建

Running(运行中): Pod 中的至少一个容器已经被创建,并且正在运行中。如果 Pod 中的所有容器都处于该状态,则整个 Pod 将被标记为运行中

Succeeded(已成功): Pod 中的所有容器都已经成功地完成了任务,并且已经退出。这通常在批处理作业完成后发生

Failed(失败): Pod 中的一个或多个容器已经以非正常状态退出。这通常表示应用程序出现了错误或故障

Terminating(终止中): Pod 已经接收到删除请求,正在被终止。这意味着 Pod 中的容器正在被停止,并且正在进行清理操作,例如释放资源

 初始化容器

初始化容器(Init Container)是 Kubernetes 中的一个特殊类型的容器,它与主要的应用容器共同运行在同一个 Pod 内,并在应用容器启动之前执行一些初始化任务,只有当所有的初始化容器成功执行完毕并退出时,主要的应用容器才会启动,如果初始化容器中的任何一个执行失败(即退出状态码非零),整个 Pod 将处于错误状态,Kubernetes 会尝试重新启动整个 Pod,直到所有的初始化容器成功执行为止

apiVersion: apps/v1
kind: Deployment
metadata: 
  labels:
    app: api-gateway
  name: api-gateway
  namespace: java-service
spec:
  replicas: 2
  progressDeadlineSeconds: 600
  minReadySeconds: 10
  strategy:
    rollingUpdate:
      maxSurge: 1
      maxUnavailable: 0
    type: RollingUpdate
  selector:
    matchLabels:
      app: api-gateway
  template:
    metadata:
      labels:
        app: api-gateway
    spec:
      volumes:
      - name: skywalking-agent
        emptyDir: {}
      initContainers:            #定义初始化容器
      - name: skywalking-agent-container
        image: apache/skywalking-java-agent:8.7.0-alpine
        volumeMounts:
        - name: skywalking-agent
          mountPath: /agent
        command: ["/bin/sh"]
        args: ["-c","cp -R /skywalking/agent /agent/"]
      containers:
      - name: api-gateway
        image: harbor.apex.com/jdk/api-gateway:1.0.6
        imagePullPolicy: IfNotPresent
        ports:
        - containerPort: 8888

钩子函数

PostStart 钩子: 在容器创建后立即执行。这个钩子适合于一些初始化操作,如连接到外部服务、加载数据等

PreStop 钩子: 在容器终止之前执行。它允许容器在关闭之前执行清理任务,如保存状态、断开连接等

apiVersion: v1
kind: Pod
metadata:
  name: example
spec:
  containers:
  - name: my-container
    image: my-image
    lifecycle:
      postStart:
        exec:
          command: ["/bin/sh", "-c", "echo Hello from the postStart hook"]
      preStop:   #这用了一个真实场景的举例,就是java应用服务下线,需要手动清除在ek注册的服务地址
        exec:
          command: ["/bin/sh", "-c", "curl -X PUT http://eureka.tools:8080/eureka/apps/ARZ-OSP-SERVER/$HOSTNAME:arz-osp-server:8080/status?value=OUT_OF_SERVICE"]

三、重启策略

Always(始终重启): 当容器退出时,无论其退出状态是成功还是失败,Kubernetes 都会自动重启该容器。这是默认的重启策略

OnFailure(仅在失败时重启): 仅当容器以非零退出状态(即失败)退出时,Kubernetes 才会重启容器。如果容器以成功状态退出(即退出代码为 0),则不会触发重启

Never(永不重启): Kubernetes 永远不会重启 Pod 中的容器,即使容器失败也不会触发重启

四、优雅退出

在Kubernetes中,Pod的优雅下线(Graceful Termination)是指在终止Pod之前,容器有机会执行清理操作并与正在处理的请求完成。优雅下线确保应用程序可以平滑地终止,避免造成中断或数据丢失

apiVersion: apps/v1
kind: Deployment
metadata: 
  labels:
    app: api-gateway
  name: api-gateway
  namespace: java-service
spec:
  terminationGracePeriodSeconds: 30   #最多可以容忍的时间,默认30s,超出时间后就会强制关闭pod
  replicas: 2
  progressDeadlineSeconds: 600
  minReadySeconds: 10
  strategy:
    rollingUpdate:
      maxSurge: 1
      maxUnavailable: 0
    type: RollingUpdate
  selector:
    matchLabels:
      app: api-gateway
  template:
    metadata:
      labels:
        app: api-gateway
    spec:
      containers:
      - name: api-gateway
        image: harbor.apex.com/jdk/api-gateway:1.0.6
        imagePullPolicy: IfNotPresent
        ports:
        - containerPort: 8888
        lifecycle:
        preStop:   #这用了一个真实场景的举例,就是java应用服务下线,需要提前执行脚本将nacos注册中心中的微服务权重更改为0,不再接收流量,然后等pod优雅下线后,nacos再通过健康检查服务将改微服务剔除
          exec:
            command: ["/bin/sh", "-c", "curl -X PUT http://nacos_ip:8848/nacos/v2/ns/instance?serviceName=api-gateway&ip=${POD_IP}&port=80&weight=0"]

可参考nacos官网: Open API 指南 | Nacos

五、pause

在 Kubernetes 中,Pause 容器是一个特殊的辅助容器,它经常与每个 Pod 一起运行。Pause 容器没有实际的应用程序逻辑,其主要作用是为 Pod 中的其他容器提供网络命名空间和存储卷的共享环境。Pause 容器实际上是一个轻量级的镜像,只包含一个小型的操作系统文件系统和网络配置,占用极少的资源,当创建一个 Pod 时,Kubernetes 会自动在 Pod 中创建一个 Pause 容器。这个 Pause 容器会一直运行,直到 Pod 被删除或终止。其他容器(也称为主容器)与 Pause 容器共享网络和存储卷空间,这意味着它们可以在同一网络命名空间中相互通信,共享文件系统卷

简单介绍一下Pod 在Kubernetes中,最小的管理元素不是一个个独立的容器,而是Pod,Pod是最小的,管理,创建,计划的最小单元。 什么是Pod 一个Pod相当于一个共享的context的配置组,在同一个context下,应用可能还会有独立的cgroup隔离机制,一个Pod是一个容器环境下的“逻辑主机”,它可能包含一个或多个紧密相连的应用,这些应用可能是在同一个物理主机或虚拟机上。 对Pod的context层面来理解的话,可以理解成多个Linux命名空间的联合 PID 命名空间(同一个Pod中应用可以看. 阅读详情

相关推荐

三、POD详解

而设置的存活探针检检测方式为执行 shell 命令,用 cat 命令输出 healthy 文件的内容,如果能成功执行这条命令一次(默认successThreshold:1),存活探针就认为探测成功,由于没有配置(failureThreshold、timeoutSeconds),所以执行(cat /tmp/healthy)并只等待1s,如果1s内执行后返回失败,探测失败。我们在请求创建pod时,天剑不满足,调度没有完成,没有任何一个节点能满足调度条件,已经创建了但是没有适合它运行的节点叫做挂起。

爱吃西红柿的博客 2250

网络测试pod

pod网络测试,pod抓包

教Linux的李老师 6526

F5 shape最新版逆向分析(美西南、xbk)

本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,如有侵权,请联系作者立即删除。今天来简单秀下传说中的f5 shape,这是一个数一数二的盾,jsvmp+顶级风控,就算技术实力再强,也是需要花很多时间去摸索的,如果您遇到了这个盾又没有太多的时间去搞,欢迎来找我们。

mature的博客 3655

pod概述:概念、原理解读

Pod概述:概念、原理深度解读 1.1 带你梳理Pod概念、原理 什么是Pod? Pod是Kubernetes中的最小调度单元,一个Pod封装一个容器(也可以封装多个容器),Pod里的容器共享存储、网络等。也就是说,可以把整个pod看作虚拟机,然后每个容器相当于运行在虚拟机的进程。同一个pod里的所有容器都被统一安排和调度。 白话解释: 可以把pod看成是一个“豌豆荚”,里面有很多“豆子”(容器)。一个豌豆荚里的豆子,它们吸收着共同的营养成分、肥料、水分等,Pod和容器的关系也是一样,.

qq_36410466的博客 4万+

Jitsi Meet保姆级自建教程:5分钟搞定私有化视频会议服务器(含Docker部署避坑指南)

本文提供了一份详尽的Jitsi Meet私有化视频会议服务器自建教程。通过Docker Compose部署方案,在5分钟内即可搭建基础服务,并深入解析了SSL/TLS证书配置、TURN服务器优化等关键步骤,确保部署的安全与可扩展性,为企业构建自主可控的远程协作平台提供完整指南。

weixin_29305337的博客 620

lift off工艺为什么常用蒸发的方式镀膜?

电子束蒸发中,蒸发物质从源头直接升华并沿直线路径沉积到晶圆上,它可以避免金属在掩模侧壁的覆盖,只在表面进行沉积。在镀膜结束后,在进行光刻胶剥离时,去胶液无法与光刻胶接触反应,导致光刻胶剥离很困难。欢迎加入我的半导体制造知识星球社区,目前社区有1900人左右。我观察到晶圆厂中lift off工艺,镀膜都是用的电子束蒸发的方式,很少有用磁控溅射的方式,为什么?需要增加撕胶工序,将胶面上覆盖的膜层撕掉,使光刻胶露出,这样才容易剥离。上图为磁控溅射的膜层截面图,去胶液很难突破侧壁膜层,进行反应。

1687

【云原生】Kubernetes(k8s)之Pod概念和使用

Pod是可以在Kubernetes中创建和管理的最小可部署单元。Pod是一组(一个或多个)容器的打包,这一组容器共享存储、网络;pod中的容器地位均等且一同调度,在共享的上下文中运行。这些容器在业务上是紧密耦合在一起的。Pod就像一台“逻辑主机”为这一组紧密相关的容器提供运行上下文。Pod除了正常运行的业务容器外还可以在启动期间运行Init容器。也可以在集群支持临时容器的情况下,以调试为目的注入临时容器。

Lion_Long的博客 3913

二十一、SAP-库存管理

业务逻辑、功能讲解、图文解析、章节总结

m0_72403327的博客 1811

Pod详解大全

文章目录一、Pod介绍1、pod的结构主容器 pause业务容器 user container1 user container22、Pod定义1)、k8s中的命名规范1、下面是Pod的资源清单:2、查看每种资源的可配置项3、案例1、案例1 – 部署nginx、tomcat2、案例2 – wordpress在kubernetes中基本所有资源的一级属性都是一样的,主要包含5部分:在上面的属性中,spec是接下来研究的重点,继续看下它的常见子属性:4、kubernetes没有提供单独运行Pod的命令,都是通过

weixin_46837396的博客 7807

计算机视觉 | 面试题:01、过拟合和欠拟合的表现与解决方法

问题 过拟合和欠拟合的表现和解决方法。 其实除了欠拟合和过拟合,还有一种是适度拟合,适度拟合就是我们模型训练想要达到的状态,不过适度拟合这个词平时真的好少见,在做酷狗音乐的笔试题时还懵逼了一会,居然还真的有这样的说法。 这应该是基础中的基础了,笔试题都做烂了。那就当做今天周末,继续放个假吧…… 过拟合 过拟合的表现 模型在训练集上的表现非常好,但是在测试集、验证集以及新数据上的表现很差,损失曲线呈现一种高方差状态。(高方差指的是训练集误差较低,而测试集误差比训练集大较多) 过拟合的原因 从两个角度去分析

Mrrunsen的博客 869

CKS-CN考试之路----11

显然是alpine-b的镜像有libcrypto3-3.1.4-r5。新版本发布老版本会被回收,此时pod只剩下2个container。我们依次测试是哪个镜像里包含libcrypto3。可以看到alpine的pod有3个副本.

Q先生 653

pod的介绍、命令行创建pod

pod控制器包含:Deployment、ReplicaSet、DaemonSet、CronJob、Job、StatefulSet

MssGuo的博客 5424

MIMO-OFDM通信系统性能仿真及MATLAB实现

将MIMO和OFDM技术结合起来,可以充分利用两者的优点,进一步提高无线通信系统的性能。在MIMO-OFDM系统中,多个天线同时发射多个子载波,称为多天线多载波(MIMO-OFDM)系统。随着无线通信技术的不断发展,MIMO-OFDM技术因其高效、可靠和适应性等优点已被广泛应用于新一代通信系统中。本篇文章旨在介绍MIMO-OFDM通信系统的基本原理及其性能评估方法,并结合MATLAB提供相关代码实现。本篇文章介绍了MIMO-OFDM通信系统的基本原理和性能评估方法,并结合MATLAB提供了相关的实现代码。

学习使你进步。 2218

Kubernetes中Pod介绍

Kubernetes中Pod介绍

YIYIYI 1090

【项目实战】自动化测试软件VectorCAST介绍

VectorCAST是一款先进的自动化测试软件。VectorCAST是一款功能强大、易于使用的自动化测试软件。VectorCAST适用于各种嵌入式系统的测试。VectorCAST为嵌入式系统的测试提供了一种高效、可靠的解决方案。VectorCAST提供了一整套完整的测试工具,包括测试管理、代码覆盖、缺陷定位、报告生成等,以帮助开发人员提高测试效率,确保软件质量。VectorCAST支持。

奶爸的编程之路,也就一周冷个三天 2012

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

K8S Pod介绍

前言 pod作为k8s中运行的最小单元可通过配置生命的方式进行创建。本文结合k8s官方文档介绍pod k8s 官方介绍 Pods Pod是可以在 Kubernetes 中创建和管理的、最小的可部署的计算单元。 Pod(就像在鲸鱼荚或者豌豆荚中)是一组(一个或多个)容器; 这些容器共享存储、网络、以及运行容器的配置声明如deplyments。 Pod 中的内容总是并置(colocated)的并且一同调度,在共享的上下文中运行。 Pod 通常对应物理机上运行的docker容器,但在k8s中pod虽..

woshiyizhiyu0的博客 3254

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

pod介绍与配置

Pod 是 kubernetes 基本调度单位。每个 Pod 中可以运 行一个或多个容器,共享 Pod 的文件系统、IP 和网络等资源,每个 Pod 只有一个 IP。

weixin_70693880的博客 1458

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Kubernetes Pod 介绍

🌟我是廖志伟,一名Java开发工程师、Java领域优质创作者、优快云博客专家、51CTO专家博主、阿里云专家博主、清华大学出版社签约作者、产品软文专业写手、技术文章评审老师、问卷调查设计师、个人社区创始人、开源项目贡献者。🌎跑过十五公里、🚀徒步爬过衡山、🔥有过三个月减肥20斤的经历、是个喜欢躺平的狠人。

我是Java程序员廖志伟,感谢朋友们的支持! 1362

K8s(一)Pod资源——Pod介绍、创建Pod、Pod简单资源配额

本文主要介绍了k8s的pod资源,pod资源的创建,pod的简单操作,并介绍了pod的labels和resource字段

qq_72569959的博客 2058

Kubernetes最小单元Pod介绍及配置

Pod是Kubernetes中的一个基本构建块,它是一个逻辑主机,用于托管一个或多个容器。Pod中的容器共享网络和存储资源,并且通常作为一个单元一起调度和管理。Pod为容器提供了一个共享的环境,使得容器之间可以方便地通信和共享数据。Pod还可以配置资源限制、健康检查、重启策略等,以满足不同的应用需求。Pod是Kubernetes中创建和管理容器的最小和最简单的单位,是实现容器编排和自动化部署的基础。

weixin_72583321的博客 1398

Pod详细介绍

以上例子中的 Pod 有两个容器。kubernetes中其他大多数组件都是围绕着Pod来进行支撑和扩展Pod功能的,例如,用于管理Pod运行的StatefulSet和Deployment等控制器对象,用于暴露Pod应用的Service和Ingress对象,为Pod提供存储的PersistentVolume存储资源对象等。当Pod不设置资源限制时,如果Pod遇到bug或中了病毒,不断地吃资源,将会造成节点宕机,导致其他Pod中的业务故障,是十分不安全的,所以对Pod资源做限制是对其他Pod的一种保障。

x74188的博客 1450

k8s-pod的介绍及命令行创建pod

一、 pod介绍在kubernetes的世界中,k8s并不直接处理容器,而是使用多个容器共存的理念,这组容器就叫做pod。

qq_50247813的博客 2158

Pod介绍

用户 → API Server(认证/授权/准入校验)→ etcd(存Pod配置,状态Pending) → Scheduler(过滤→打分→选节点,绑定到节点)→ etcd(更新节点信息) → 目标节点kubelet(调用容器运行时拉镜像、配网络/存储、启动容器) → kubelet(健康检查,向API Server上报状态)→ etcd(更新为Running) → 用户(通过kubectl查看到Running状态)pod:豆荚,它包含一个或多个容器,并共享网络和存储资源。5.Unknown:未知状态;

2502_92656182的博客 953

K8S之Pod的介绍和使用

Pod是Kubernetes中的最小调度单元,k8s通过定义一个Pod的资源,然后在Pod里面运行容器,容器需要指定一个镜像,这样就可以用来运行具体的服务。一个Pod封装一个容器(也可以封装多个容器),Pod里的容器共享存储、网络等。如果把pod看作虚拟机,每个容器相当于运行在虚拟机里的进程。

weixin_40364776的博客 1687

kubernetes pod介绍

一、Pod Pod是一个逻辑概念 它是Kubernetes资源调度的单元,一般会把一组功能强相关的容器逻辑上称之为一个pod,Pod就是所说的实例。 作为一个逻辑概念,pod本身没有资源,pod中的容器具有资源,创建pod,可以通过定义pod模块。 Pod是一组紧密关联的容器集合,它们共享PID、IPC、Network和UTS namespace,是Kubernetes调度的基本单位。 Pod的设计理念是支持多个容器在一个Pod中共享网络和文件系统,可以通过进程间通信和文件共享这种简单高效的方式组合

软件工程小施同学 的专栏 935

Pod基本介绍

k8s pod 基本介绍

魏志标的博客 1165
上一篇: k8s介绍
下一篇: pod控制器
Apex   Predator
博客等级 码龄6年 9371粉丝 289原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值