k8s pod网络排查教程

1、背景

背景:在日常的k8s运维中,经常会遇到pod之间网络无法访问,域名无法解释的情况。且容器中网络排查命令不全,导致无法准确定位问题。

2、nsenter介绍

#Centos 下载方式
$ yum install util-linux -y

nsenter 是一个 Linux 命令行工具,作用是可以进入 Linux 系统下某个进程的命令空间,如 network namespace、mount namespace、uts namespace、ipc namespace、pid namspace、user namespace、cgroup

所以使用 nsenter 调试容器网络,可以按照以下步骤操作:
1、找到pod中容器的进程id
2、通过nsenter命令进入

由于找到pod中容器的进程id比较麻烦,所以这里写了一个脚本工具去完成上述过程
vim e-net.sh

#!/usr/bin/env bashfunction e_net() {set -eupod=`kubectl get pod ${pod_name} -n ${namespace} -o template --template='{{range .status.containerStatuses}}{{.containerID}}{{end}}' | sed 's/docker:\/\/\(.*\)$/\1/'`pid=`docker inspect -f {{.State.Pid}} $pod`echo -e "\033[32m Entering pod netns for ${namespace}/${pod_name} \033[0m\n"cmd="nsenter -n -t ${pid}"echo -e "\033[32m Execute the command: ${cmd} \033[0m"${cmd}
}# 运行函数
pod_name=$1
namespace=${2-"default"}
e_net

chmod +x e-net.sh

3、案例

比如我需要排查k8s中 devops名称空间中jenkins容器的网络

1、获取pod名称
kubectl get pods -n devops

2、通过脚本加入容器命名空间
e-net.sh jenkins-bf5ffdf5b-zgxqs devops

3、验证
执行ip a ,可以看到ip已经和容器内部的ip一致

4、此时就可以通过宿主机的各种命令去排查网络问题(ping、nc、telnet、nslookup)
注意如果通过nslookup去排查域名,需要指定k8s Coredns的地址,不然默认访问的是宿主机的dns,达不到排查的效果。
nslookup loki.log.svc.cluster.local 10.96.0.10

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

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

相关文章

学习k8s

学习k8s 我为什么要用k8s 和其他部署方式的区别是什么? 传统部署方式 java --> package --> 放到服务器上 --> Tomcat 如果是同时进行写操作,会存在并发问题. 用户 --网络带宽–> 服务器 -->服务 同一个服务器上,多个服务: 网络资源的占用 内存的占用 cpu的占…

三、W5100S/W5500+RP2040之MicroPython开发<DNS示例>

文章目录 1. 前言2. 相关网络信息2.1 简介2.2 DNS工作过程2.3 优点2.4 应用 3. WIZnet以太网芯片4. DNS解析示例讲解以及使用4.1 程序流程图4.2 测试准备4.3 连接方式4.4 相关代码4.5 烧录验证 5. 注意事项6. 相关链接 1. 前言 在这个智能硬件和物联网时代,MicroPyt…

2312llvm,02前端

前端 编译器前端,在生成目标相关代码前,把源码变换为编译器的中间表示.因为语言有独特语法和语义,所以一般,前端只处理一个语言或一组类似语言. 比如Clang,处理C,C,objective-C源码. 介绍Clang Clang项目是C,C,Objective-C官方的LLVM前端.Clang的官方网站在此. 实际编译器(…

【一】FPGA实现SPI协议之SPI协议介绍

【一】FPGA实现SPI协议之SPI协议介绍 一、spi协议解析 spi协议有4根线,主机输出从机输入MOSI、主机输入从机输出MISO、时钟信号SCLK、片选信号SS\CS 。 一般用于主机和从机之间通信。由主机发起读请求和写请求,主机的权限是主动的,从机是被…

iOS 将sdk更新到最新并为未添加版本号的三方库增加版本号

1、更新cocoapod sudo gem install cocoapods2、更新sdk pod update3、查看最新版本号 # 查看最新版本号 cat Podfile.lock4、增加版本号 将查询到的版本号添加到pod中 pod MJRefresh, 3.7.6

C/C++编程中的算法实现技巧与案例分析

C/C编程语言因其高效、灵活和底层的特性,被广大开发者用于实现各种复杂算法。本文将通过10个具体的算法案例,详细探讨C/C在算法实现中的技巧和应用。 一、冒泡排序(Bubble Sort) 冒泡排序(Bubble Sort)是一…

【Hadoop精讲】HDFS详解

目录 理论知识点 角色功能 元数据持久化 安全模式 SecondaryNameNode(SNN) 副本放置策略 HDFS写流程 HDFS读流程 HA高可用 CPA原则 Paxos算法 HA解决方案 HDFS-Fedration解决方案(联邦机制) 理论知识点 角色功能 元数据持久化 另一台机器就…

腾讯云微服务11月产品月报 | TSE 云原生 API 网关支持 WAF 对象接入

2023年 11月动态 TSE 云原生 API 网关 1、支持使用私有 DNS 解析 服务来源支持私有 DNS 解析器,用户可以添加自己的 DNS 解析器地址进行私有域名解析,适用于服务配置了私有域名的用户。 2、支持 WAF 对象接入 云原生 API 网关对接 Web 安全防火墙&…

一种基于外观-运动语义表示一致性的视频异常检测框架 论文阅读

A VIDEO ANOMALY DETECTION FRAMEWORK BASED ON APPEARANCE-MOTION SEMANTICS REPRESENTATION CONSISTENCY 论文阅读 ABSTRACT1. INTRODUCTION2. PROPOSED METHOD3. EXPERIMENTAL RESULTS4. CONCLUSION阅读总结: 论文标题:A VIDEO ANOMALY DETECTION FRA…

锐捷配置完全stub区域

一、实验拓扑 二、实验目的 在运行OSPF协议的网络中,配置STU区域可以减少路由器的路由条目,减小路由器的压力,有效提高路由器的性能。 三、实验配置 第一步:全局配置OSPF R1 ruijie>enable R1#conf terminal R1(config)#hos…

C51--小车——串口/蓝牙控制及点动

串口控制: 建立串口分文件:uart.c 和 uart.h文件声明函数 #include "reg52.h" #include "motor.h" #include "string.h"#define SIZE 12sfr AUXR 0x8E;char buffer[SIZE]; //数组操作发送字符串//串口初始化 void U…

Https图片链接下载问题

1. 获取方法 入参是一个Url, 和一个随机的名称. 返回值是MultipartFile, 这里因为我这里需要调接口传到服务器, 这里也可以直接通过inputStream进行操作. 按需修改 /*** 通过Url获取文件** param url* param fileName 随机产生一个文件名, 可以是uuid等* return* throws Excep…

Postman使用总结--生成测试报告

1.执行生成的命令格式 newman run 用例集文件 .json -e 环境文件 .json -d 数据文件 .json/.csv -r htmlextra --reporter- htmlextra-export 测试报告名 .html -e 和 -d 是 非必须的。 如果没有使用 环境,不需要指定 -e 如果没有使用 数据…

数据结构与算法之美学习笔记:37 | 贪心算法:如何用贪心算法实现Huffman压缩编码?

目录 前言如何理解“贪心算法”?贪心算法实战分析解答开篇内容小结 前言 本节课程思维导图: 接下来几节,我会讲几种更加基本的算法。它们分别是贪心算法、分治算法、回溯算法、动态规划。更加确切地说,它们应该是算法思想&#x…

XZ_iOS 之 M1 M2 M3的M系列芯片的Mac苹果电脑安装cocoapods

安装的前提,应用程序->终端->右键-显示简介->勾选 使用Rosetta打开,如下图,然后重启终端 安装的顺序如下:Homebrew->rvm->ruby->cocoapods 1、安装Homebrew /bin/bash -c "$(curl -fsSL https://raw.git…

eclipse的安装与配置

1、下载 eclipse 下载地址:https://www.eclipse.org/downloads/ 点击 【Download Package】 找到JavaEE IDE,点击【Windows x86_64】 点击【Select Another Mirror】,然后点击国内任意一个大学镜像下载即可! 下载成功后&…

0086-Java_四种进制介绍

文章目录 1 进制(程序员的基本功)1.1 进制介绍1.2 进制的转换(基本功)1.2.1 进制转换的介绍 1.3 二进制在运算中的说明1.4 原码、反码、补码(重点 难点) 1 进制(程序员的基本功) 1.1 进制介绍 对于整数,有四种表示方式: 二进制:0,1 &#x…

新手上路:自动驾驶行业快速上手指南

文章目录 1.自动驾驶技术的发展1.1 工业革命驱动自动驾驶技术发展1.2 想象中的未来:科幻作品中的自动驾驶汽车1.3 自动驾驶技术萌芽与尝试1.4 百花争鸣:自动驾驶科技巨头与创业公司并进 2.个人开发者,如何玩转自动驾驶?2.1 灵活易…

git第四篇 日常工作使用

Stash 有一天正在特性分支 开发,老板说线上有个bug需要切到dev分支修复,但是开发一半的代码怎么办呢?一般我们会先commit一下提交上去加个备注。但是如何优雅的处理这种狼狈的提交策略呢? 当你会了stash,你就不会这么…

OO DiskRecovery 14 - 专业硬盘SSD数据恢复工具软件

在数据丢失时,让O&O DiskRecovery 14为您挽回宝贵的信息。 概述 O&O DiskRecovery 14是一款专业级别的硬盘SSD数据恢复工具软件,专为在数据丢失或意外删除时进行高效恢复而设计。无论是硬盘、U盘、SD卡还是数字相机,O&O DiskR…