k8s之pod组件

1.什么是pod

pod是k8s中最小的资源管理组件

pod也是最小化运行容器化的应用的资源管理对象

pod是一个抽象的概念,可以理解为一个或者多个容器化应用的集合

一个pod内的容器,必须都运行在同一个节点。基于现代容器技术的要求,一个pod运行一个容器,一个容器只运行一个进程。

2.什么是pause?

pause是基础容器,也可以成为父容器,管理pod内容器的共享操作。

pause还可以管理容器的生命周期。

k8s提供了pause容器

1.为pod内的所有容器提供一个命名空间

2.启动容器的pid命名空间,每个pod都作为pid为1的进程(init进程),回收僵尸进程

3.创建pod时,先创建pause容器,然后再拉去镜像生产容器,形成pod

2.1pause容器共享两种资源

网络:每个pod都会被分配一个集群内部的唯一ip地址,pod内的容器共享网络,pod在集群内部的ip地址和端口,pod内部的容器可以使用localhost互相通信。pod的中容器与外部通信时,从共享的资源进行分配、宿主机的端口映射。

存储:

pod可以指定多个共享的volume,pod内的容器共享这些volume。

2.2pod的分类

自主式pod:pod不会自我修复,pod内容器的进程终止,被删除,缺少资源被驱逐,这个pod没有办法自愈。

控制器管理pod:可以滚动升级,可以自愈(自动重启),可以管理pod的数量以及pod的扩缩容

3.pod的生命周期

1.pending 挂起状态

pod已被创建,但是尚未被分配到运行的node节点。(节点上资源不够,需要等待其他pod的调度)

2.runnung: 运行中,pod已经被分配到运行的node节点,pod内部的所有容器都已经启动,运行状态正常,稳定

3.complete:容器内部的进程运行完毕,正常退出,没有发生错误

successded

4.faild:pod中的容器非正常退出,发生了错误,需要通过查看详情和日志来定位问题

5.UNknown:由于某些原因,k8s集群无法获取pod的状态,APIserver出了问题

6.terminating:终止中,pod正在被删除,里面的容器正在终止,终止过程中,资源回收,垃圾清理以及终止过程中需要执行的命令

工作原理:

首先会创建基础容器pause容器,如果有初始化容器,会先创建初始化容器,初始化容器全部成功退出,才会创建pod的业务容器,创建业务容器时会创建两个钩子分别是容器运行的第一个命令和最后一个命令,然后再创建存活探针和流量探针伴随整个pod的生命周期。

3.1创建pod的容器分类

1.基础容器:pause

2.init容器(初始化容器):init C

3.业务容器

3.2 k8s的pod的重启策略

Always:只有容器退出,总是重启,无论容器的状态码是否正常。默认策略,可以不加

Never:只有容器退出,不论是否正常,都不重启

OnFailure: 只有容器的状态码非0才会重启,正常退出是不重启的。只有报错才会重启

在deployment的yaml文件当中,重启的策略只能是always,可以不写。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/598605.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pyparamvalidate 项目背景和需求分析

目录 一、前置说明1、总体目录2、本节目标 二、项目背景三、需求分析三、后置说明1、要点小结2、下节准备 一、前置说明 1、总体目录 《 pyparamvalidate 参数校验器,从编码到发布全过程》 2、本节目标 阐述 pyparamvalidate 项目背景和需求分析。 二、项目背景…

由浅入深理解C#中的事件

目录 本文较长,给大家提供了目录,可以直接看自己感兴趣的部分。 前言有关事件的概念示例​ 简单示例​ 标准 .NET 事件模式​ 使用泛型版本的标准 .NET 事件模式​ 补充总结 参考前言 前面介绍了C#中的委托,事件的很多部分都与委托…

sql如何获取字段是数组中的数字【搬代码】

我们可以看到表中字段是一个数组怎么获取其中的数据呢? SELECT sim->>$[0] FROM fin_xxx如果使用左外链接,如下,其他连接时一样的 SELECT a.* FROM fin_aaaa a LEFT JOIN fin_xxx b ON b.sim_r->>$[0]a.corr WHERE b.tid20210 …

【Kubernetes 】Kubernetes 安全审计实战指南

Kubernetes 审计是一项重要的安全措施,它可以帮助您监控和审计集群中的各种活动,以保障集群的安全性和合规性。本指南将带您逐步实现 Kubernetes 安全审计的配置和实战应用。 步骤 1: 检查集群是否支持审计 检查你的 Kubernetes 集群中支持的审计策略版本。使用以下命令列出…

解决java前台传递时间到后台相差8个小时的时区问题

经过查阅相关资料发现在spring转json的默认实现jackson中会根据时区去转换时间,而jackson的默认时区跟 国内应该是相差8小时,所以再时间换算上相差了8小时 解决方案一,在Model的时间字段上加上注解 JsonFormat(pattern"yyyy-MM-dd HH:…

安全典型配置(六)配置IPSG限制非法主机访问内网案例(静态绑定)

相关文章学习: 安全典型配置(一)使用ACL限制FTP访问权限案例 安全典型配置(二)使用ACL限制用户在特定时间访问特定服务器的权限案例 安全典型配置(三)使用ACL禁止特定用户上网案例安全典型配置…

对mongodb说hello会得到什么

程序员开始学习一门新的语言,编写的第一段程序往往是打印出“hello world!”. print("Hello world!") echo "Hello World!" 编程,从hello入门,打印出hello world,表示程序在开发人员手里向人类世界说出了第…

yolov8人脸识别-脸部关键点检测(代码+原理)

1. 人脸识别: Yolov8可用于人脸识别,它可以识别人脸的位置、大小和角度等信息,并对人脸进行精确的识别。通过使用Yolov8,可以实现高效准确的人脸识别,不仅可以应用于安防领域,也可以应用于人脸支付、人脸门…

x-cmd pkg | gitui - git 终端交互式命令行工具

目录 简介首次用户功能特点类似工具与竞品进一步探索 简介 gitui 由 Stephan D 于 2020 年使用 Rust 语言构建的 git 终端交互式命令行工具,旨在终端界面中便捷管理 git 存储库。 首次用户 使用 x gitui 即可自动下载并使用 在终端运行 eval "$(curl https:/…

open3d连线可视化

目录 写在前面准备代码运行结果参考完 写在前面 1、本文内容 open3d 2、平台/环境 windows10, visual studio 2019 通过cmake构建项目,跨平台通用;open3d 3、转载请注明出处: https://blog.csdn.net/qq_41102371/article/details/135407857…

呼叫 Mac 用户 | Navicat Premium 原生支持在搭载 Apple Silicon 芯片的电脑上使用

作为桌面端数据库管理开发软件,Navicat Premium 与 Navicat for MongoDB 16.3 (或更高版本) 已原生支持搭载 Apple Silicon 芯片的 Mac 电脑上使用。这是一次重要的技术改进,通过原生技术将大幅提升 Mac 用户在使用 Navicat 过程中的响应速度、流畅性以及…

Hex2Bin转换工具文档、Bootloader 、OTA 、STM32等MCU适用

说明:这个工具可以将 Hex 文件 转换为 Bin 格式文件,软件是按自己开发 STM32 OAT 功能需求开发的一款辅助 上位机软件。 有兴趣的朋友可留言探讨。 附加功能: 1.另外可以生成指定大小的bin 格式文件,文件多余的空余位置填充随机…

【Python】dbf文件批量合成excel

我有一个文件夹,内含多个dbf文件,现在要合成一个excel。 前提:安装os、pandas、dbfread、openpyxl包 import os import pandas as pd from dbfread import DBF# 指定包含dbf文件的文件夹路径 folder_path r"J:\sta"# 初始化一个空…

MySQL 函数大全

MySQL 数值型函数 函数名称作 用ABS求绝对值SQRT求二次方根MOD求余数CEIL 和 CEILING两个函数功能相同,都是返回不小于参数的最小整数,即向上取整FLOOR向下取整,返回值转化为一个BIGINTRAND生成一个0~1之间的随机数,传入整数参数…

回归预测 | Matlab实现基于GA-Elman遗传算法优化神经网络多输入单输出回归预测

回归预测 | Matlab实现基于GA-Elman遗传算法优化神经网络多输入单输出回归预测 目录 回归预测 | Matlab实现基于GA-Elman遗传算法优化神经网络多输入单输出回归预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab实现基于GA-Elman遗传算法优化神经网络多输入单输…

鸿蒙原生应用/元服务开发-短时任务

概述 应用退至后台一小段时间后,应用进程会被挂起,无法执行对应的任务。如果应用在后台仍需要执行耗时不长的任务,如状态保存等,可以通过本文申请短时任务,扩展应用在后台的运行时间。 约束与限制 申请时机&#xf…

腾讯云跨云迁移工具案例实践:阿里云迁移到腾讯云

对于阿里云批量迁移到腾讯云,HyperMotion可以支持批量一键式安装Agent软件,做到了操作步骤简单化、自动化,可以满足常见源端操作系统类型。 例如:Windows 2003-2019,CentOS、RedHat 6.x-7.x、Ubuntu 14.x - 16.x、SUS…

微服务应用可观测性解决方案介绍

目录 一、可观测性出现背景 二、什么是可观测性(Observability) 2.1 可观测性的不同解析 2.1.1 百度维基解析 2.1.2 IBM解析 2.1.3 CNCF(云原生计算机基金会)组织解析 2.1.4 我的个人理解 2.2 可观测性和监控的区别与联系 …

Python中User-Agent的重要作用及实际应用

摘要: User-Agent是HTTP协议中的一个重要字段,用于标识发送请求的客户端信息。在Python中,User-Agent的作用至关重要,它可以影响网络请求的结果和服务器端的响应。将介绍User-Agent在Python中的重要作用,并结合实际案…

copilot插件使用介绍

Copilot 是一款由 GitHub 和 OpenAI 共同开发的智能编程助手,可以根据您的输入快速生成代码片段。下面是 Copilot 插件的使用介绍: 1.安装插件: • 打开 Visual Studio Code(VS Code)编辑器。 • 进入扩展面板&#…