【Kubernetes | Pod/容器】如何修改 Pod 中容器的守护进程

news2024/11/17 23:29:31

目录题

  • 1. 环境设定
    • 1.1 创建名为 vmware-nginx 的 Pod
  • 2. 查看容器默认守护进程
    • 2.1 查看容器所在节点
    • 2.2 查看容器ID
    • 2.3 查看容器中运行的进程信息
  • 3. 修改容器默认守护进程
    • 3.1 类比 Docker
    • 3.2 修改 YAML 文件改变默认守护进程
      • 参数说明
  • 4. 验证
    • 4.1 删除旧的 vmware-nginx.yaml 容器
    • 4.2 创建新的 vmware-nginx.yaml 容器
    • 4.3 查看容器守护进程

容器是一个运行中的进程。当一个Pod中运行了一个容器时,容器至少包含一个进程,那么这个进程是什么?

1. 环境设定

我们先创建一个 Nginx 容器,查看查看并修改该容器的默认守护进程。

1.1 创建名为 vmware-nginx 的 Pod

Pod 清单如下:

apiVersion: v1
kind: Pod
metadata:
  creationTimestamp: null
  labels:
    run: vmware-nginx
  name: vmware-nginx
  namespace: 1-pod
spec:
  containers:
  - image: nginx
    imagePullPolicy: IfNotPresent
    name: vmware-nginx
    resources: {}
  dnsPolicy: ClusterFirst
  restartPolicy: Always
status: {}

使用声明式创建 Pod

kubectl apply -f vmware-nginx.yaml

2. 查看容器默认守护进程

2.1 查看容器所在节点

以 vmware-nginx.yaml 为例,用该 YAML 文件创建的pod运行的进程有哪些?我们先通过命令查看该pod在集群哪个节点上创建的。

kubectl -n 1-pod get pod -o wide

在这里插入图片描述

从输出结果可以看出,该容器运行在k8s-03节点上。

2.2 查看容器ID

SSH到k8s-03节点上,查看该容器具体的运行状态。在这里我们使用的容器运行时是Docker。

docker ps | grep vmware-nginx

在这里插入图片描述

从Docker运行状态可以看到,容器 vmware-nginx 有两个对应容器,一个为vmware-nginx,另一个是 Pause。

每个Pod 都会有对应的容器:pause。即每创建一个 Pod,里面会自动生成 pause容器,Pause 容器就是为解决 Pod 中的网络问题而生的。具体请关注之后的博文。

2.3 查看容器中运行的进程信息

docker top 23987e5d7ca9

在这里插入图片描述

可以看到,该容器运行的守护进程是 Nginx 。

我们也可以通过 docker history命令查看 Nginx 进程在 Docker 中运行的过程

docker history nginx

在这里插入图片描述

当一个 Pod 中运行了一个容器时,容器中肯定包含一个进程,这个进程是什么?其默认进程是由容器镜像决定的,如果镜像是 nginx,那么 Pod 默认守护进程就是 nginx 守护进程。

3. 修改容器默认守护进程

3.1 类比 Docker

Docker正常运行一个容器,该容器的守护进程默认为 imge_name

docker run --name=c1 --restart=alawys image_name

在上面的命令后面加上 sleep 1000,那么该容器将不在运行镜像文件默认的进程,而是改为 sleep 1000并覆盖默认进程

docker run --name=c1 --restart=alawys image_name sleep 1000

同理,我们也可以在 YAML 中更改容器默认守护进程

3.2 修改 YAML 文件改变默认守护进程

spec:
  containers:
  - image: nginx
    ....
    command: ["sh","-c","sleep 1000"]

参数说明

command:在容器中执行commad值的命令,其值默认语法为["sh","-c",""]。第三个""中输入自定义的命令即可
在这里插入图片描述

4. 验证

使用修改后的 vmware-nginx.yaml 文件创建容器,然后查看该 Pod 在哪个节点上运行,再去容器所在节点上使用docker 命令查看具体进程。即重复第2小节内容。

4.1 删除旧的 vmware-nginx.yaml 容器

kubectl delete -f vmware-nginx.yaml

4.2 创建新的 vmware-nginx.yaml 容器

再次使用声明式创建已修改默认进程的 YAML 文件。

kubectl apply -f vmware-nginx.yaml

在这里插入图片描述

查看容器所在节点,还是在 k8s-03 上。

4.3 查看容器守护进程

docker ps | grep vmware-nginx
docker top 2632f63a6403

在这里插入图片描述

从输出可以看出,该 Nginx 容器的默认守护进程已经变为了 sleep 1000,而不是 nginx

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

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

相关文章

质性分析软件nvivo的学习(一)

1、软件安装: 科研也是需要投资的,建议淘宝购买软件,价格60米。 2、软件基础使用说明: 说明:以下笔记来源都是通过B站视频自学总结的,您可以选择通过下面的B站视频学习,也可以选择通过我总结的内容速学。…

(Week 9)图论(C++,Dijkstra,Floyd)

文章目录【深基18.例3】查找文献(C,图的遍历)题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1解题思路:【模板】floyd(C)题目背景题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1样例 #2样…

内核内存管理

1.内核内存管理框架 内核将物理内存等分成N块4KB,称之为一页,每页都用一个struct page来表示,采用伙伴关系算法维护 内核地址空间划分图: 3G~3G896M:低端内存,直接映射 虚拟地址 3G 物理地址 细分为&a…

我国软件供应链安全现状学习分析整理分享 附完整下载地址

声明 本文是学习2021年中国软件供应链安全分析报告. 下载地址而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 一、前言 数字化时代,软件无处不在。软件如同社会中的“虚拟人”,已经成为支撑社会正常运转的最基本元素之一&#…

MATLAB | 绘图复刻(五) | 带树状图的环形热图

本期教大家如何绘制带树状图的环状热图,要复刻的图片长这样: 复刻效果: 需要安装Statistics and Machine Learning Toolbox即统计与机器学习工具箱!!! 需要安装Statistics and Machine Learning Toolbox即…

对DataFrame的数据进行指定运算的DataFrame.transform()方法

【小白从小学Python、C、Java】 【计算机等级考试500强双证书】 【Python-数据分析】 对DataFrame中所有数据实施指定运算 例如:df1.transform(np.abs) 选择题 关于以下python代码说法错误的一项是? import pandas as pd import numpy as np df pd.DataFrame({&…

上班摸鱼软件

上班摸鱼软件前言思路采集组合自动下单发QQ报告结语前言 疫情几年,在家时间多,上班时间少。没事多在网上闲逛,偶然在知乎上看到一篇文章,说是买球也能稳赚不赔。我研究了一下,还真是这么回事。 简单来说,就…

转换通达信分钟数据,包括5分钟和1分钟数据

目录 1 前言 2 操作演示 3 代码 4 软件下载 5 stockpy整体功能介绍 1 前言 真正的市场高手不但要熟练掌握日线,对分钟线也要进行深入研究。缠中说禅在他的博客中讲到,年、季、月、周、日、60分钟、30分钟、5分钟、1分钟研究道理是相同的。粒度越细&…

华为云之ModelArts+AppCube带你识别101种西式美食

目录 1.注册并实名认证华为云账号 2.AI Gallery 订阅模型及部署 3. 获取访问秘钥 4.使用示例安装包创建 AppCube 应用 5. 创建 ModelArts 连接器 6. 应用修改 6.1 修改脚本 6.2 修改标准页面 6.3 运行及测试 1.注册并实名认证华为云账号 未注册及实名认证的话&…

2023年1月1日生效:2023年火车高铁儿童票最新规则及高铁火车2023儿童票怎么购买?

原文来源:https://www.caochai.com/article-4108.html 2023年火车高铁儿童票最新规则: 自2023年1月1日起生效,儿童购买高铁火车票将执行最新规则:按购票儿童年龄执行票价阶梯。 1、【免费】儿童年龄小于6周岁,无需购…

十六、状态管理——Vuex(2)

本章概要 mapMutationsmapStategetter 16.4 mapMutations 继续完善购物车程序,为购物车添加删除商品功能。删除商品同样要修改 store 中保存的购物车商品数据,因此继续在 mutations 选项中定义一个 deleteItem mutation。编辑 store 目录下的 index.j…

介绍idea 几个常用的插件

介绍idea 几个常用的插件1. Lombok2. MyBatis Log Free3. Database4. jsonparser5. Restful Fast Request5.1 插件配置5.1.1 基础配置5.1.2 全局请求头配置5.1.3 String生成配置5.2 插件使用5.2.1 调式接口(测试看)5.2.2 快速配置token5.2.3 保存、搜索A…

集成分布式锁架包(MySQL、Redis、Zookeeper)

前言: 疫情当下,大环境不好,自己又去了一家令人非常失望的单位,一直在996加班忙于业务代码,技术方面几乎等于零成长。但是,作为一个Coder,必须要挤出时间去学习与总结,不然就会被无情…

Emmet 使用 lorem 快捷生成随机文本填充html页面

快速使用 在编程中,我们也可以使用Lorem ipsum来填充页面,测试显示效果。主要是通过编辑器中自带的 Emmet 插件,识别以 lorem 开头的短语,生成指定格式的内容。以下介绍均以 vscode 为测试载体。 注意:lorem 短语需要…

Java-String 类·下

Java-String 类下5. 字符, 字节与字符串5.1 字符与字符串5.2 字节与字符串5.3 小结6.字符串常见操作6.1 字符串比较6.2 字符串查找6.3 字符串替换6.4 字符串拆分6.5 字符串截取6.6 其他操作方法7. StringBuffer 和 StringBuilder补充大家好,我是晓星航。今天为大家带…

计算机网络体系结构

目录常见的计算机网络体系结构计算机网络体系结构分层的必要性计算机网络体系结构分层思想举例计算机网络体系结构中的专用术语常见的计算机网络体系结构 TCP/IP体系结构相当于将OSI体系结构的物理层和数据链路层合并为网络接口层。并去掉了会话层和表示层。 由于TCP/IP在网络…

Java爬虫 爬取某招聘网站招聘信息

Java爬虫 爬取某招聘网站招聘信息一、系统介绍二、功能展示1.需求爬取的网站内容2.实现流程2.1数据采集2.2页面解析2.3数据存储三、获取源码一、系统介绍 系统主要功能:本项目爬取的XX招聘网站 二、功能展示 1.需求爬取的网站内容 2.实现流程 爬虫可以分为三个模…

[Kettle] Kettle界面介绍

启动Kettle后,弹出Kettle的欢迎界面 有关界面的构成和说明如下所示 ①标题栏:显示界面标题名称 ②菜单栏:分别有【文件】|【编辑】|【视图】|【执行】|【工具】|【帮助】六个菜单栏 ③工具图标栏:显示图形化的常用和重要的菜单项…

SAP MM采购定价过程字段解析

下面我们针对每一个字段进行解释和用途分析 : 1、 步骤:代表了创建PO时,哪个条件类型放到前面,哪个放到后面,如果步骤号相同,那就以谁先选择出来谁就在前面。 2、 计数:没有任何实际意义&a…

DaVinci:神奇遮罩

调色页面:神奇遮罩Color:Magic Mask神奇遮罩 Magic Mask基于人工智能技术,在检视器中绘制一个笔画,就能识别出笔画所在的对象,并以此自动创建遮罩。先确定要对画面上的物体还是人体做遮罩。若是对人体做遮罩&#xff0…