k8s网络之(一)如何调试容器网络 nsenter

news2024/11/26 10:36:15

①  背景

②  三种解决策略

最常见: 镜像为了保持'精简化',没有安装'网络'命令,缺少必要的'基础网络软件'

③  pod_id和container_id关系

细节: 一个pod内可以有'多个容器',意味者可以有'多个容器id'

说明: docker ps 默认'容器id'只有前'12'位

案例: 这里假定'只有'一个'容器id'

附加: 贴出'命令'是为了帮助我们后续'自动化'

需求1: 根据'container_name'或'container_id'获取Pid

docker inspect -f {{.State.Pid}} nginx

需求2: 根据'pod_name'精确地获取 'containerID'

kubectl get pod pod_name -o template \

--template='{{range .status.containerStatuses}}{{.containerID}}{{end}}'

docker://cf0873782d587dbca6aa32f49605229da3748600a9926e85b36916141597ec85

 上下图对比挖掘的信息   调试容器网络

获取'hostIP'目的: 登录容器'所在的宿主机'执行docker命令,获取到容器所在'宿主机对应的Pid'

④  nsenter简介

nsenter 是一个 'linux 命令行'工具,作用是可以进入linux系统下'某个进程'的'命令空间'

⑤ nsenter 为什么可以起作用

⑥  案例演示

强调: 我们可以充分利用'容器所在宿主机'的'所有命令',不只是'网络命令'

假设: 获取'宿主机ip [172.25.2.100]'和'container_id',见'上面'案例
​
常见场景: 使用'宿主机的命令'调试'容器网络'

1) 指定'进程号PID'以及需要进入的'命名空间'后

2) nsenter会帮我们找到对应的命名空间'文件描述符/proc/PID/ns/FD'

见上:/proc/13957/ns/net

3) 然后使用'该命名空间'运行'新'的程序
​
对比: 'tcpdump案例'

  

案例: '非交互'方式

  

linux网络命名空间

遗留: 可以通过什么'命名空间'可以利用'宿主机的命令'下载文件到'容器'中吗?

使用 nsenter 调试容器网络

遗留: K8S 环境下 Pod 网络调试工具 kubectl-debug

容器网络不通要如何调试

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

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

相关文章

如何理解自动化

目录 1.如何定义自动化 2.自动化给人类带来的福利 3.如何学习自动化 4.自动化潜在的危害 1.如何定义自动化 自动化是指利用计算机、机械、电子技术和控制系统等现代科学技术手段,对各种工业、商业、农业和日常生活中的操作和过程进行自动控制和执行的过程。它旨在…

《博客继续更新说明》

目录 1.博客停更原因2.考研和比赛3.工作和博客题外话 1.博客停更原因 自2022.6.20起,本人CSDN博客断更了,故很多粉丝的私信没有看到,非常抱歉哈,简单叙说下这一年经历,当时大三后期原本想法是直接找嵌入式实习的&#…

怎样用IDEA社区版以及企业版创建spring boot项目?

Spring 的诞生是为了简化 Java 程序的开发的,而 Spring Boot 的诞生是为了简化 Spring 程序开发的 。 Spring Boot 翻译一下就是 Spring 脚手架,什么是脚手架呢?如下图所示: 盖房子的这个架子就是脚手架,脚手架…

脑电信号处理与特征提取——三. 脑电实验设计的原理与实例(古若雷)

三、脑电实验设计的原理与实例 被试间设计的实验结果也有可能是人员不同造成的,所以建议被试内设计。

【力扣每日一题】2023.7.22 柠檬水找零

目录 题目: 示例: 分析: 代码运行结果: 题目: 示例: 分析: 这是一道模拟题,我们贩卖五美元(忒贵了)一杯的柠檬水,然后只收取5,10,20面值的钞票…

API自动化测试总结

目录 Jmeter是怎么做API自动化测试的? Jmeter中动态参数的处理? 怎么判断前端问题还是后端问题? 详细描述下使用postman是怎么做API的测试的? 资料获取方法 Jmeter是怎么做API自动化测试的? 1、首先在JMeter里面…

57. 插入区间

题目链接::力扣 解题思路,因为只插入一个新的区间,所以只需要找到插入的新区见的位置即可,如果与来的区间重叠,则进行合并, 两个区间重叠需要判断的情况比较多,可以判断两个区间不重…

已解决-使用Adobe Acrobat去除PDF水印

这个方法只能去带颜色的水印,灰色的去不了,等我有空时候,再写一篇使用PS去除水印的方法,也非常简单。敬请期待 安装软件 网上下载安装Adobe Acrobat Pro DC 安装Adobe PDF打印机 点击“添加打印机” 选择“我的打印机未列出”…

VCL界面组件DevExpress VCL v23.1 - 全新的Windows 11主题

DevExpress VCL是Devexpress公司旗下最老牌的用户界面套包,所包含的控件有:数据录入、图表、数据分析、导航、布局等。该控件能帮助您创建优异的用户体验,提供高影响力的业务解决方案,并利用您现有的VCL技能为未来构建下一代应用程…

RT-Thread qemu mps2-an385 bsp 移植制作 :环境搭建篇

前言 最近打算系统地研究一下 RT-Thread,包括 RT-Thread BSP 的移植,由于一直在使用 QEMU 进行一些软件功能的验证,qemu 支持很多的CPU 与 开发板,所以想移植一个新的 qemu board 到 RT-Thread,掌握BSP 移植的方法 当…

pytest配置文件:pytest.ini

1. 开始 pytest配置文件可以改变pytest的默认运行方式,它是一个固定的文件名称pytest.ini。 pytest.ini存放路径为项目的根路径。 2. 使用addopts-追加默认参数 我们每次在命令行中执行pytest命令时,如果参数是固定的,可以在pytest.ini进…

OpenCV:图像直方图计算

图像直方图为图像中像素强度的分布提供了有价值的见解。通过了解直方图,你可以获得有关图像对比度、亮度和整体色调分布的信息。这些知识对于图像增强、图像分割和特征提取等任务非常有用。 本文旨在为学习如何使用 OpenCV 执行图像直方图计算提供清晰且全面的指南。…

【Java基础教程】(四十三)多线程篇 · 下:深入剖析Java多线程编程:同步、死锁及经典案例——生产者与消费者,探究sleep()与wait()的差异

Java基础教程之多线程 下 🔹本节学习目标1️⃣ 线程的同步与死锁1.1 同步问题的引出2.2 synchronized 同步操作2.3 死锁 2️⃣ 多线程经典案例——生产者与消费者🔍分析sleep()和wait()的区别? 🌾 总结 🔹本节学习目标…

SpringBoot Redis 配置多数据源

Redis 从入门到精通【应用篇】之SpringBoot Redis 配置多数据源 文章目录 Redis 从入门到精通【应用篇】之SpringBoot Redis 配置多数据源1.教程0. 添加依赖1. 配置多个 Redis 连接信息我们将上面的配置改造一下,支持Redis多数据源 2. 配置3. 创建 RedisTemplate 实…

Compose中常用的一些Modifier的扩展ui方法记录

Compose中常用的一些Modifier的扩展ui方法记录 关于防快速点击虚实分割线虚线边框阴影 关于 本篇主要记录一些开发中可能用到的常用方法的扩展记录,包括防快速带点击,画虚实线divider,画虚线边框,绘制阴影等。 防快速点击 inlin…

每天五分钟机器学习:线性回归和非线性回归之间的区别?

本文重点 在前面的课程中,我们学习了单变量线性回归模型以及多变量的线性回归模型,无论是单变量线性回归还是多变量线性回归,这二者都是一样的,都是线性的。本文我们将学习一下线性回归模型和非线性回归之间的区别和联系。 关于模型的基本区别 线性回归:线性回归就是每…

第三天 运维高级 MySQL主从复制

1.理解MySQL主从复制原理 1、master(binlog dump thread)主要负责Master库中有数据更新的时候,会按照binlog格式,将更新的事件类型写入到主库的binlog文件中。 2、I/O thread线程在Slave中创建,该线程用于请求Master&…

YApi 服务端测试新增 globalCookie ,兼容自动化触发服务端测试功能

YApi是一个开源的接口管理平台,它提供了丰富的接口管理和测试功能。其中,服务端测试是YApi的一个重要特性,可以帮助开发人员自动化执行接口测试。 在YApi的服务端测试中,新增globalCookie是一个很有用的功能。通过设置globalCook…

2023/7/23周报

目录 摘要 论文阅读 1、题目和现存问题 2、问题阐述及相关定义 3、LGDL模型框架 4、实验准备 5、实验过程 深度学习 1、GCN简单分类任务 2、文献引用数据分类案例 3、将时序型数据构建为图数据格式 总结 摘要 本周在论文阅读上,对基于图神经网络与深度…

LabVIEW使用支持向量机对脑磁共振成像进行图像分类

LabVIEW使用支持向量机对脑磁共振成像进行图像分类 医学成像是用于创建人体解剖学图像以进行临床研究、诊断和治疗的技术和过程。它现在是医疗技术发展最快的领域之一。通常用于获得医学图像的方式是X射线,计算机断层扫描(CT),磁…