我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Kubernetes pod里的pause-amd64容器有什么用

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Kubernetes pod里的pause-amd64容器有什么用

这篇文章主要介绍“Kubernetes pod里的pause-amd64容器有什么用”,在日常操作中,相信很多人在Kubernetes pod里的pause-amd64容器有什么用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Kubernetes pod里的pause-amd64容器有什么用”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

Kubernetes pod里的pause-amd64容器有什么用

docker ps的命令返回的结果:

[root@k8s-minion1 kubernetes]# docker ps |grep pausec3026adee957        gcr.io/google_containers/pause-amd64:3.0           "/pause"                 22 minutes ago      Up 22 minutes                           k8s_POD.d8dbe16c_redis-master-343230949-04glm_default_ce3f60a9-095d-11e7-914b-0a77ecd65f3e_66c108d5202df18d636e        gcr.io/google_containers/pause-amd64:3.0           "/pause"                 24 hours ago        Up 24 hours                             k8s_POD.d8dbe16c_kube-proxy-js0z0_kube-system_2866cfc2-0891-11e7-914b-0a77ecd65f3e_c8e1a667072d3414d33a        gcr.io/google_containers/pause-amd64:3.0           "/pause"                 24 hours ago        Up 24 hours                             k8s_POD.d8dbe16c_kube-flannel-ds-tsps5_default_2866e3fb-0891-11e7-914b-0a77ecd65f3e_be4b719e[root@k8s-minion1 kubernetes]#

Kubernetes的官网解释:

it's part of the infrastructure. This container is started first in all Pods to setup the network for the Pod.

意思是:pause-amd64是Kubernetes基础设施的一部分,Kubernetes管理的所有pod里,pause-amd64容器是第一个启动的,用于实现Kubernetes集群里pod之间的网络通讯。

对这个特殊容器感兴趣的朋友,可以阅读其源代码:
https://github.com/kubernetes/kubernetes/tree/master/build/pause

我们查看这个pause-amd64镜像的dockerfile,发现实现很简单,基于一个空白镜像开始:

FROM scratchARG ARCHADD bin/pause-${ARCH} /pauseENTRYPOINT ["/pause"]

ARG指令用于指定在执行docker build命令时传递进去的参数。

这个pause container是用C语言写的:

Kubernetes pod里的pause-amd64容器有什么用

https://www.ianlewis.org/en/almighty-pause-container

在运行的Kubernetes node上运行docker ps,能发现这些pause container:

Kubernetes pod里的pause-amd64容器有什么用

pause container作为pod里其他所有container的parent container,主要有两个职责:

  1. 是pod里其他容器共享Linux namespace的基础

  2. 扮演PID 1的角色,负责处理僵尸进程

这两点我会逐一细说。在Linux里,当父进程fork一个新进程时,子进程会从父进程继承namespace。目前Linux实现了六种类型的namespace,每一个namespace是包装了一些全局系统资源的抽象集合,这一抽象集合使得在进程的命名空间中可以看到全局系统资源。命名空间的一个总体目标是支持轻量级虚拟化工具container的实现,container机制本身对外提供一组进程,这组进程自己会认为它们就是系统唯一存在的进程。

在Linux里,父进程fork的子进程会继承父进程的命名空间。与这种行为相反的一个系统命令就是unshare:

Kubernetes pod里的pause-amd64容器有什么用

再来聊聊pause容器如何处理僵尸进程的。

Pause容器内其实就运行了一个非常简单的进程,其逻辑可以从前面提到的Pause github仓库上找到:

static void sigdown(int signo) {  psignal(signo, "Shutting down, got signal");  exit(0);}static void sigreap(int signo) {  while (waitpid(-1, NULL, WNOHANG) > 0);}int main() {  if (getpid() != 1)        fprintf(stderr, "Warning: pause should be the first process\n");  if (sigaction(SIGINT, &(struct sigaction){.sa_handler = sigdown}, NULL) < 0)    return 1;  if (sigaction(SIGTERM, &(struct sigaction){.sa_handler = sigdown}, NULL) < 0)    return 2;  if (sigaction(SIGCHLD, &(struct sigaction){.sa_handler = sigreap,                                             .sa_flags = SA_NOCLDSTOP},                NULL) < 0)    return 3;  for (;;)    pause();  fprintf(stderr, "Error: infinite loop terminated\n");  return 42;}

这个c语言实现的进程,核心代码就28行:

Kubernetes pod里的pause-amd64容器有什么用

其中第24行里一个无限循环for(;;), 至此大家能看出来pause容器名称的由来了吧?

这个无限循环里执行的是一个系统调用pause,

Kubernetes pod里的pause-amd64容器有什么用

因此pause容器大部分时间都在沉睡,等待有信号将其唤醒。

接收什么信号呢?

一旦收到SIGCHLD信号,pause进程就执行注册的sigreap函数。

Kubernetes pod里的pause-amd64容器有什么用

看下SIGCHLD信号的帮助:

Kubernetes pod里的pause-amd64容器有什么用

SIGCHLD,在一个进程正常终止或者停止时,将SIGCHLD信号发送给其父进程,按系统默认将忽略此信号,如果父进程希望被告知其子系统的这种状态,则应捕捉此信号。

pause进程注册的信号处理函数sigreap里,调用另一个系统调用waitpid来获得子进程终止的原因。

Kubernetes pod里的pause-amd64容器有什么用

到此,关于“Kubernetes pod里的pause-amd64容器有什么用”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Kubernetes pod里的pause-amd64容器有什么用

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Kubernetes pod里的pause-amd64容器有什么用

这篇文章主要介绍“Kubernetes pod里的pause-amd64容器有什么用”,在日常操作中,相信很多人在Kubernetes pod里的pause-amd64容器有什么用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法
2023-06-04

阿里的云服务器有什么用

阿里云服务器是阿里巴巴公司开发和提供的云计算服务,旨在为用户提供高速、稳定、安全可靠的云计算基础设施和服务,帮助用户更轻松地管理、搭建、扩展、升级云计算基础设施。以下是阿里云服务器的一些用途:高速云服务器:阿里云服务器能够提供高效、稳定的云计算服务,可以帮助用户快速扩展计算和存储资源,降低使用云计算的门槛。弹性云服务器:阿里云服务器能够根据用户需求动态调整云服务器的数量,确保用户的数据不受
2023-10-26

阿里的云服务器有什么用处

阿里云服务器是阿里巴巴公司开发和提供的云计算服务,旨在为用户提供高速、稳定、安全可靠的云计算基础设施服务。具体来说,阿里云服务器的作用在于以下几个方面:提高基础设施服务的速度和可靠性:阿里云服务器可以提高用户的数据传输速度和稳定性,从而提高用户的访问体验。提高服务器资源的利用效率:阿里云服务器可以将用户的计算资源进行整合和优化,从而提高服务器资源的利用效率。提高数据存储的安全性:阿里云服务器可以为用户提供...
2023-10-27

阿里的云服务器有什么用处吗

云服务器的应用场景阿里云提供了多种类型的云服务器,包括容器云服务器、负载均衡云服务器、裸金属云服务器等。容器云服务器是一种基于云原生技术的服务器,它可以运行容器应用程序,并且支持快速部署、自动化管理和容器编排等功能。负载均衡云服务器则是一种基于云原生技术的服务器,可以通过网络协议来实现负载均衡,从而实现高可用性和可扩展
阿里的云服务器有什么用处吗
2023-10-27

亚马逊里的服务器有什么用处

云计算:亚马逊提供了云计算服务,用户可以将其数据存储在亚马逊的云服务器上,以便随时随地访问和使用。数据库:亚马逊的数据库服务支持各种类型的数据,包括表格、关系型数据库、NoSQL数据库和大数据存储。应用程序服务器:亚马逊的应用程序服务器可以帮助用户构建各种应用程序,包括Web应用程序、移动应用程序、桌面应用程序和应用开发套件。视频服务:亚马逊的视频服务提供了丰富的视频资源,包括流媒体视频、本地视频和V...
2023-10-27

阿里云服务器的优点有什么作用

阿里云服务器是一款由中国阿里巴巴集团旗下的云计算服务提供商阿里云开发的云服务器平台。它的主要优点有以下几点:强大的性能:相较于传统的服务器,阿里云服务器具备更快的处理速度和更低的资源消耗。同时,由于采用了高速互联网通信技术,阿里云服务器可以实现更大的带宽支持和更稳定的数据传输。稳定可靠:阿里云服务器拥有高可靠性和稳定性,可以承受高负载并在长时间的运行过程中保持高性能。另外,阿里云服务器还支
2023-10-26

阿里云服务器的优点有什么作用呢

阿里云服务器的优点包括:快速部署:阿里云服务器提供了一种在线的方式来创建和管理数据库和应用程序。通过将数据从云服务器存储中分发,用户可以快速地完成创建、部署和维护工作。可靠性和可用性:阿里云服务器支持多种数据中心级别的可靠性和可用性保证。这意味着,阿里云服务器可以在全球范围内提供服务,而无需担心硬件故障和网络中断。高性能:阿里云服务器通过多核、多节点和分布式架构等技术手段来提高数据处理和
2023-10-26

云服务器的用途有哪些方面的内容和特点是什么

云服务器(CloudDocker)是一种虚拟化技术,它可以将计算资源或存储资源分为不同的虚拟机(VM),然后将其整合成为资源池。这些资源可以按需使用,并且可以自动化地进行资源分配和管理。云服务器的用途包括:在线数据存储:用户可以使用云服务器提供的存储服务(例如Nas、SAN或CDN)来存储数据。容器化部署:用户可以使用云服务器提供的轻量级容器服务来快速部署一个应用程序或服务,而无需关心应
2023-10-26

云服务器的用途有哪些方面的内容和功能是什么

云服务器是一种虚拟化计算平台,它的用途主要包括以下几个方面的内容和功能:应用程序服务:云服务器可以帮助开发人员创建一个高效、可靠和可扩展的应用程序,可以快速部署、升级和维护。网络服务:云服务器可以提供网络服务,包括VPC(虚拟专用网络)、负载均衡、VPN(虚拟私有网络)等。存储服务:云服务器可以提供多种存储服务,例如磁盘存储、云存储和大数据存储等,以满足用户的不同需求。安全服务:云服务
2023-10-26

阿里云服务器的优点有什么作用和意义

阿里云服务器是一款由阿里云公司推出的服务器产品,它具有以下几个优点和功能:稳定可靠:阿里云服务器的服务器采用云计算技术,具备高可用性和高可靠性。阿里云服务器支持多种操作系统,包括Windows、Linux和Unix等,能够满足不同用户的访问需求。高性能和高可扩展性:阿里云服务器具有高性能和高可扩展性,可支持多种应用程序和业务需求,并且具备多种负载均衡技术,能够为用户提供快速可靠的访问。云
2023-10-26

阿里云服务器的优点有什么作用和功能

阿里云服务器是一款由中国云服务提供商阿里云提供的云服务器产品,它的优点主要在于以下几个方面:高可用性:阿里云服务器具有多重冗余备份机制,可提供高可用性保障,有效避免单点故障对整个系统的影响,确保系统稳定运行。稳定性:阿里云服务器采用高可靠性架构,通过冗余备份、容错处理等技术,确保系统稳定运行,可支持长期无故障运行。安全性:阿里云服务器的安全性得到了很好的保障,通过多重安全技术保护,保证系
2023-10-26

阿里云服务器的优点有什么作用和功能呢

稳定性和可靠性:阿里云服务器采用了先进的技术和高性能的硬件,可以有效抵御各种网络攻击和数据泄露风险。同时,阿里云服务器还拥有完善的故障处理机制,可以保证服务器在各种场景下都能够稳定运行。安全性和保密性:阿里云服务器采用了多层次的安全保障措施,包括数据加密、身份验证、权限控制等,可以确保用户的数据安全。同时,阿里云服务器
阿里云服务器的优点有什么作用和功能呢
2023-10-28

阿里云服务器有什么用啊多少钱一个月的

阿里云服务器有很多用途和配置方式,不同配置方式和服务的价格也会有所不同。以下是一些价格比较普遍的选项和配置方式:虚拟主机:价格便宜,一般为几百元到上千元不等,支持多种主机服务,例如负载均衡、防DDOS攻击、数据库备份等;云服务器:价格昂贵,根据容量、带宽、资源等不同,价格从几千元到几十万元不等,可以支持多种云服务,例如数据备份、容灾备份、网络加速等等;VPS:价格较高,可容纳数量较少,一
2023-10-26

阿里云服务器的优点有什么作用和意义呢

阿里云服务器的优点和意义有很多,下面列举几个:高可靠性:云服务器采用的是高可靠技术,通过冗余机制保障了服务器的持续稳定运行。而且云服务器的故障率比较低,一旦服务器出现故障,只需要关闭服务即可,不会影响到用户的正常使用。快速部署:云服务器可以将服务器部署到云平台中,实现快速部署和使用。用户只需要在云服务器上创建应用程序,然后就可以将其部署到云平台上,实现快速上线。相比传统的服务器,云服务器具
2023-10-26

阿里云服务器有什么用啊多少钱一个月的费用

阿里云服务器有很多用处,例如:数据存储:阿里云服务器可以将数据分发到其他云服务器上,这些服务器可以提供高效的存储能力来存储大量的数据,例如图片、视频、音频等数据。数据加密:阿里云服务器可以通过加密技术来保护用户的数据,这有助于保护企业的数据安全。云监控:阿里云服务器可以监控服务器的运行状态,例如CPU使用率、内存使用量等,及时发现问题并进行处理。云备份:如果用户的数据需要备份到其他云服
2023-10-26

阿里云服务器有什么用啊多少钱一个月的电脑

阿里云服务器有很多不同的产品线和型号,价格也会有所不同。以下是一般情况下的阿里云服务器价格,仅供参考。云服务器1x:每个月的租用价格在$500-$1200美元之间,根据服务器的配置和大小而异。阿里云虚拟主机VPS:每个月的租用价格在$200-$1200之间,根据服务器的配置和大小而异。阿里云云服务器1+1:每个月的租用价格在$300-$400之间,根据服务器的配置和大小而异。除此之外
2023-10-26

阿里云服务器的作用和功能有哪些特点和用途是什么

作用:1.提供高性能的计算能力,支持大规模分布式计算。2.支持弹性扩容和自动缩容,满足业务增长需求。3.支持负载均衡和高可用性,保证应用的稳定性和可用性。4.提供多种部署方式,包括云服务器、容器服务、数据库等,满足不同应用场景的需求。5.支持多种协议和接口,包括HTTP、WebSockets、RDP、SOAP、JSON等,方便开发和运维。6.提供丰富的工具和服务,包括监控、日志、安全、容灾等,方便管理和运维。功能:1....
2023-10-27

阿里云服务器有什么用啊多少钱一个月的费用是多少

阿里云服务器有很多用处和功能,以下是一些常见的用途和费用:企业云服务器:提供高可靠性的云计算服务,帮助企业快速上云和扩展其业务规模。个人云服务器:提供便捷的云计算服务,如快速部署和管理服务器、存储、网络等。游戏云服务器:提供高性能云计算服务,满足游戏用户快速、高效、稳定的游戏体验。CDN云服务器:提供海量的网络存储和内容分发服务,支持用户访问网站、应用程序和视频等。云加速云服务器:提供高性能云计算服务,包括负...
2023-10-27

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录