当前位置: 首页 > article >正文

AI编程时代,人类程序员还剩下什么?堂

故障表现发现请求集群 demo 入口时卡住并且对应 Pod 没有新的日志输出rootce-demo-1:~# kubectl get pods -n deepflow-otel-spring-demo -o wideNAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATESdb-demo-0 1/1 Running 0 2d1h 10.244.81.203 ce-demo-3nacos-0 1/1 Running 0 2d1h 10.244.142.37 ce-demo-1svc-item-588b4cfcc9-zkvpd 1/1 Running 0 2d1h 10.244.142.36 ce-demo-1svc-order-5f67c67555-ds7bj 1/1 Running 0 2d1h 10.244.228.140 ce-demo-2svc-stock-b9df64d4b-bsxs5 1/1 Running 0 2d1h 10.244.142.38 ce-demo-1svc-user-7c5c7b488f-4zjdc 1/1 Running 0 2d1h 10.244.81.204 ce-demo-3web-shop-5d495d8cbc-lnpxq 1/1 Running 0 2d1h 10.244.228.139 ce-demo-2rootce-demo-1:~# curl 10.244.228.139:8090/shop/full-test## 等待很久后报错curl: (28) Failed to connect to 10.244.228.139 port 8090 after 133345 ms: Could not connect to server## 此处新开终端查看日志后再次请求,发现没有新的日志rootce-demo-1:~# kubectl logs -f -n deepflow-otel-spring-demo web-shop-5d495d8cbc-lnpxq --tail 20排查流程在客户端抓包发现请求后一直建连失败从客户端 IP 看出识别到 Server IP 是 Pod IP所以直接走了 calico 网口转发imagetcpdump -v -i any dst 10.244.228.139 -w pod.pcaprootce-demo-1:~# ip a s vxlan.calico30499: vxlan.calico: mtu 1450 qdisc noqueue state UNKNOWN group default qlen 1000link/ether 66:e0:bb:93:52:4f brd ff:ff:ff:ff:ff:ffinet 10.244.142.0/32 scope global vxlan.calicovalid_lft forever preferred_lft forever由上数据怀疑是 ce-demo-2 节点 calico 问题查看后发现对应节点 calico-node 运行异常此组件作用可参考官网 calico/node 配置说明 和 calico 组件架构rootce-demo-1:~# kubectl get pods -n calico-system -o wideNAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATEScalico-kube-controllers-86596856c4-w7nsl 1/1 Running 0 2d9h 10.244.228.132 ce-demo-2calico-node-n2b4b 1/1 Running 0 2d9h 10.51.0.102 ce-demo-3calico-node-p4k7s 1/1 Running 0 2d9h 10.51.0.100 ce-demo-1calico-node-sbxrk 0/1 Running 0 44h 10.51.0.101 ce-demo-2calico-typha-75c74d6ffd-6xq2j 1/1 Running 0 2d9h 10.51.0.100 ce-demo-1calico-typha-75c74d6ffd-fkf6b 1/1 Running 0 2d9h 10.51.0.102 ce-demo-3csi-node-driver-72pkg 2/2 Running 0 2d9h 10.244.142.1 ce-demo-1csi-node-driver-8sjvc 2/2 Running 0 2d9h 10.244.81.195 ce-demo-3csi-node-driver-skj6v 2/2 Running 0 2d9h 10.244.228.130 ce-demo-2Calico 启动 calico-node 时会根据主机的网络接口自动选择一个 IP 地址作为节点的 IPv4Address默认是自动探测autodetect。查看三台节点对应的值发现此 ip 不是对应节点的 ens160rootce-demo-1:~# kubectl get node -o yaml | grep IPv4Addressprojectcalico.org/IPv4Address: 10.51.0.100/24projectcalico.org/IPv4Address: 10.4.0.1/24projectcalico.org/IPv4Address: 10.51.0.102/24ce-demo-2 节点查看 10.1.0.1 对应 ip 网络设备的详细信息可以看出这是一个网桥bridge设备用于容器间通信/外部访问rootce-demo-2:~# ip address show nerdctl0686: nerdctl0: mtu 1500 qdisc noqueue state UP group default qlen 1000link/ether b2:90:e4:5b:f4:d1 brd ff:ff:ff:ff:ff:ffinet 10.4.0.1/24 brd 10.4.0.255 scope global nerdctl0valid_lft forever preferred_lft foreverrootce-demo-2:~# ip -d link show nerdctl0686: nerdctl0: mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000link/ether b2:90:e4:5b:f4:d1 brd ff:ff:ff:ff:ff:ff promiscuity 0 allmulti 0 minmtu 68 maxmtu 65535bridge forward_delay 1500 hello_time 200 max_age 2000 ageing_time 30000 stp_state 0 priority 32768 vlan_filtering 0 vlan_protocol 802.1Q bridge_id 8000.b2:90:e4:5b:f4:d1 designated_root 8000.b2:90:e4:5b:f4:d1 root_port 0 root_path_cost 0 topology_change 0 topology_change_detected 0 hello_timer 0.00 tcn_timer 0.00 topology_change_timer 0.00 gc_timer 240.02 vlan_default_pvid 1 vlan_stats_enabled 0 vlan_stats_per_port 0 group_fwd_mask 0 group_address 01:80:c2:00:00:00 mcast_snooping 1 no_linklocal_learn 0 mcast_vlan_snooping 0 mcast_router 1 mcast_query_use_ifaddr 0 mcast_querier 0 mcast_hash_elasticity 16 mcast_hash_max 4096 mcast_last_member_count 2 mcast_startup_query_count 2 mcast_last_member_interval 100 mcast_membership_interval 26000 mcast_querier_interval 25500 mcast_query_interval 12500 mcast_query_response_interval 1000 mcast_startup_query_interval 3125 mcast_stats_enabled 0 mcast_igmp_version 2 mcast_mld_version 1 nf_call_iptables 0 nf_call_ip6tables 0 nf_call_arptables 0 addrgenmode eui64 numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535 tso_max_size 524280 tso_max_segs 65535 gro_max_size 65536rootce-demo-2:~# brctl show nerdctl0bridge name bridge id STP enabled interfacesnerdctl0 8000.b290e45bf4d1 no veth76f5219bCalico 默认配置通过 first-found 模式从所有接口中第一个有 IP 的接口选一个从 ce-demo-2 节点 calico-node log time 看出首先看到的是 nerdctl0接口遍历顺序由宿主机内核/Netlink 返回的接口顺序决定常见情况下与接口 ifindex创建顺序/系统里登记的编号相关如果 nerdctl0 在系统里排序靠前例如创建得更早或者 ifindex 更靠前first-found 就会先看到它。rootce-demo-1:~# kubectl describe daemonset calico-node -n calico-system | grep IP_AUTODETECTION_METHODIP_AUTODETECTION_METHOD: first-foundrootce-demo-1:~# kubectl logs -n calico-system calico-node-sbxrk -c calico-node | grep -i nerdctl02025-07-15 07:51:58.079 [INFO][9] startup/autodetection_methods.go 103: Using autodetected IPv4 address on interface nerdctl0: 10.4.0.1/242025-07-15 07:52:02.351 [INFO][87] felix/int_dataplane.go 1431: Linux interface state changed. ifIndex686 ifaceNamenerdctl0 stateup2025-07-15 07:52:02.351 [INFO][87] felix/int_dataplane.go 1475: Linux interface addrs changed. addrsset.Set{10.4.0.1} ifaceNamenerdctl02025-07-15 07:52:02.351 [INFO][87] felix/int_dataplane.go 2098: Received interface update msgintdataplane.ifaceStateUpdate{Name:nerdctl0, State:up, Index:686}2025-07-15 07:52:02.351 [INFO][87] felix/int_dataplane.go 2125: Received interface addresses update msgintdataplane.ifaceAddrsUpdate{Name:nerdctl0, Addrs:set.Typed[string]{10.4.0.1:set.v{}}}2025-07-15 07:52:02.351 [INFO][87] felix/hostip_mgr.go 84: Interface addrs changed. updateintdataplane.ifaceAddrsUpdate{Name:nerdctl0, Addrs:set.Typed[string]{10.4.0.1:set.v{}}}2025-07-15 07:52:02.413 [INFO][87] felix/vxlan_mgr.go 597: VXLAN device parent changed from to nerdctl0 ipVersion0x4rootce-demo-1:~# kubectl logs -n calico-system calico-node-sbxrk -c calico-node | grep -i ens1602025-07-15 07:52:02.348 [INFO][87] felix/int_dataplane.go 1431: Linux interface state changed. ifIndex2 ifaceNameens160 stateup2025-07-15 07:52:02.348 [INFO][87] felix/int_dataplane.go 1475: Linux interface addrs changed. addrsset.Set{10.51.0.101} ifaceNameens1602025-07-15 07:52:02.349 [INFO][87] felix/int_dataplane.go 2098: Received interface update msgintdataplane.ifaceStateUpdate{Name:ens160, State:up, Index:2}2025-07-15 07:52:02.349 [INFO][87] felix/int_dataplane.go 2125: Received interface addresses update msgintdataplane.ifaceAddrsUpdate{Name:ens160, Addrs:set.Typed[string]{10.51.0.101:set.v{}}}2025-07-15 07:52:02.349 [INFO ][87] felix/hostip_mgr.go 84: Interface addrs changed. updateintdataplane.ifaceAddrsUpdate{Name:ens160, Addrs:set.Typed[string]{10.51.0.101:set.v{}}}2025-07-16 06:17:42.649 [INFO][87] felix/int_dataplane.go 1475: Linux interface addrs changed. addrsset.Set{10.51.0.101,fe80::20c:29ff:febb:1bdc} ifaceNameens1602025-07-16 06:17:42.649 [INFO][87] felix/int_dataplane.go 2125: Received interface addresses update msgintdataplane.ifaceAddrsUpdate{Name:ens160, Addrs:set.Typed[string]{10.51.0.101:set.v{}, fe80::20c:29ff:febb:1bdc:set.v{}}}2025-07-16 06:17:42.649 [INFO][87] felix/hostip_mgr.go 84: Interface addrs changed. updateintdataplane.ifaceAddrsUpdate{Name:ens160, Addrs:set.Typed[string]{10.51.0.101:set.v{}, fe80::20c:29ff:febb:1bdc:set.v{}}}由于 Calico 官方文档中也有注明first-found 模式为使用第一个接口不包括 Docker 网桥等本地接口上的第一个有效 IP 地址建议根据不同需求选择不同配置方式本文采用的指定接口方式。还需要额外解释下first-found 文档中描述的 the first valid IP address on the first interface (excluding local interfaces such as the docker bridge). 只是举例他的默认排除项中并不包括 nerdctl0所以它会被当作一个合法候选接口。## 注需要看 Calico 部署方式当前环境通过 Calico Tigera Operator 自定义资源部署无法直接更改 DaemonSetrootce-demo-1:~# kubectl edit daemonset calico-node -n calico-system## 找到或添加这个变量- name: IP_AUTODETECTION_METHOD## 由于几台机器网卡名称都是 ens160,此处写网卡名或正则都可以value: interfaceens.*需要更改 Calico 的自定义资源参数官网链接搜索 nodeAddressAutodetectionV4 后有具体参数rootce-demo-1:~# kubectl get InstallationNAME AGEdefault 2d10hrootce-demo-1:~# kubectl edit installation defaultnodeAddressAutodetectionV4:## 默认使用此配置##firstFound: true## 删掉后添加指定接口:interface: ens160## 查看更新结果rootce-demo-1:~# kubectl get pods -n calico-system -o wide | grep calico-nodecalico-node-4fndv 1/1 Running 0 104s 10.51.0.101 ce-demo-2calico-node-8n5qr 1/1 Running 0 39s 10.51.0.100 ce-demo-1calico-node-rxhsf 1/1 Running 0 72s 10.51.0.102 ce-demo-3rootce-demo-1:~# kubectl describe daemonset -n calico-system calico-node | grep IP_AUTODETECTION_METHODIP_AUTODETECTION_METHOD: interfaceens160验证更新后效果rootce-demo-1:~# curl 10.244.228.139:8090/shop/full-test ; echo{count:1,elapsed:209,elapsedAvg:209,startAt:2025-07-17 13:33:55.116,stopAt:2025-07-17 13:33:55.325,success温品哺陈

相关文章:

AI编程时代,人类程序员还剩下什么?堂

故障表现 发现请求集群 demo 入口时卡住,并且对应 Pod 没有新的日志输出 rootce-demo-1:~# kubectl get pods -n deepflow-otel-spring-demo -o wide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NO…...

Harness 中的事件溯源:以事件日志重建状态

Harness 中的事件溯源:以事件日志重建全链路 DevOps 状态 引言 痛点引入 作为全链路 DevOps 平台,Harness 每天会处理 数百万到数千万级别的用户/系统操作:开发者点击“启动流水线”、Feature Flag 规则引擎执行批量开关切换、云成本扫描器…...

智能车竞赛独轮组信标灯系统全解析:从硬件选型到实战调试技巧

智能车竞赛独轮组信标灯系统全解析:从硬件选型到实战调试技巧 信标灯系统作为智能车竞赛独轮组的核心模块,直接决定了车模的导航精度和比赛成绩。一套稳定高效的信标灯系统需要硬件选型、信号处理、算法优化和实战调试的完美配合。本文将深入剖析信标灯系…...

彻底告别OpenClaw使用焦虑:我给他装上了“透视眼”和“批量克隆模组贾

指令替换 项目需求:将加法指令替换为减法 项目目录如下 /MyProject ├── CMakeLists.txt # CMake 配置文件 ├── build/ #构建目录 │ └── test.c #测试编译代码 └── mypass2.cpp # pass 项目代码 一,测试代码示例 test.c // test.c #includ…...

从ReLU到GELU:非线性投影如何提升注意力机制的效果?

从ReLU到GELU:非线性投影如何重塑注意力机制的边界? 在Transformer架构席卷NLP领域的今天,注意力机制已成为深度学习模型的标准组件。但鲜少有人讨论的是,那些隐藏在QKV投影层后的非线性激活函数,才是真正决定注意力&q…...

04-Java JDK, JRE和JVM

Java JDK, JRE和JVM 在本教程中,您将了解JDK,JRE和JVM。您还将学习它们之间的主要区别。 什么是JVM? JVM(Java虚拟机)是使您的计算机运行Java程序的抽象机。 运行Java程序时,Java编译器首先将Java代码编…...

从零实现富文本编辑器#-React可编辑节点的组件预设渤

1. 智能软件工程的范式转移:从库集成到原生框架演进 在生成式人工智能(Generative AI)从单纯的文本生成向具备自主规划与执行能力的“代理化(Agentic)”系统跨越的过程中,.NET 生态系统正在经历一场自该平…...

Windows 11系统优化终极指南:Win11Debloat一键清理与隐私保护工具

Windows 11系统优化终极指南:Win11Debloat一键清理与隐私保护工具 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to declu…...

如何在6小时内将小说变成爆款推文视频?TaleStreamAI完整指南

如何在6小时内将小说变成爆款推文视频?TaleStreamAI完整指南 【免费下载链接】TaleStreamAI AI小说推文全自动工作流,自动从ID到视频 项目地址: https://gitcode.com/gh_mirrors/ta/TaleStreamAI 你是否曾想过,将一本精彩的小说在短短…...

和AI一起搞事情#:边剥龙虾边做个中医技能来起号图

1. 核心概念 在 Antigravity 中,技能系统分为两层: Skills (全局库):实际的代码、脚本和指南,存储在系统级目录(如 ~/.gemini/antigravity/skills)。它们是“能力”的本体。 Workflows (项目级)&#xff1a…...

Mysql的行级锁到底是怎么加的?醒

1. 架构背景与演进动力 1.1 从单体到碎片化:.NET 的开源征程 在.NET Framework 时代,构建系统主要围绕 Windows 操作系统紧密集成,采用传统的封闭式开发模式。然而,随着.NET Core 的推出,微软开启了彻底的开源与跨平台…...

一个简洁易用的 Delphi JSON 封装库,基于 System.JSON`单元封装,提供更直观的 API文

一、前言:什么是 OFA VQA 模型? OFA(One For All)是字节跳动提出的多模态预训练模型,支持视觉问答、图像描述、图像编辑等多种任务,其中视觉问答(VQA)是最常用的功能之一——输入一张…...

TCLB(CUDA Lattice Boltzmann)项目介绍

文章目录TCLB 项目介绍核心特性1. 高性能计算架构2. 核心功能与耦合能力3. 跨平台支持快速使用流程1. 安装与编译2. 运行仿真依赖要求核心依赖可选依赖快速安装依赖学术引用开发与贡献许可证TCLB应用领域1. 流体动力学基础与工程仿真2. 流固耦合(LBM-DEM&#xff09…...

.NET 诊断技巧 | 日志框架原理、手写日志框架学习汕

一、 什么是 AI Skills:从工具级到框架级的演化 AI Skills(AI 技能) 的概念最早在 Claude Code 等前沿 Agent 实践中被强化。最初,Skills 被视为“工具级”的增强,如简单的文件读写或终端操作,方便用户快速…...

OpenMatrix 架构解析:基于 Harness 思想的 AI 任务编排系统

引言:AI 编码的信任危机 AI 编码工具已经非常强大,但用户仍然不敢完全信任。为什么? 第一层:AI 补全代码(Copilot)→ 解决「写」的问题 第二层:AI 对话编程(Claude Code&#xff0…...

C语言入门:秒懂数据类型

刚接触C语言,我们总会遇到int、char、float这些关键词,很多同学觉得麻烦,甚至想只用一种类型写完全部代码。其实数据类型是编程的基础,理解它,才能写出规范、少出错的程序。简单来说,数据类型就是给变量规定…...

本周补题 4/5 -- 4/12

Pta 天梯赛:9 10 11 14 13牛客138:A B C D E F...

C 语言数据类型全解析:从基础到实战

数据类型是 C 语言的基石,也是每个 C 语言初学者必须掌握的核心概念。它决定了变量在内存中占用的空间大小、存储方式以及取值范围。本文将从最基础的概念讲起,系统梳理 C 语言所有数据类型,包含详细的语法、示例代码和实战技巧,帮…...

2026年杭州AI搜索营销新宠横评:5大系统供应商性能实测+选型建议

各位老板,2026年了,还在为传统SEO流量下滑发愁吗?AI搜索的流量入口已经明牌,但市面上的GEO(生成式引擎优化)工具和服务商五花八门,选谁合作才能不踩坑、不掉队?今天,我们…...

Vivado FFT IP核避坑指南:从Matlab数据生成到FPGA验证的完整流程

Vivado FFT IP核实战避坑指南:从Matlab数据生成到FPGA验证的全链路解析 在FPGA信号处理领域,FFT(快速傅里叶变换)是实现频域分析的核心运算单元。Xilinx Vivado提供的FFT IP核虽然功能强大,但在实际工程落地过程中&…...

动态数码管鬼影问题全攻略:从51单片机消影代码到TM1637芯片方案

动态数码管鬼影现象深度解析与工程实践指南 1. 数码管显示原理与鬼影成因 数码管作为嵌入式系统中最常见的显示器件之一,其工作原理直接影响着显示质量。我们先从基础结构说起: 数码管内部构造: 7段LED排列成"8"字形(部…...

基于STM32F407与W5500的HAL库TCP通信实战指南

1. 硬件准备与连接 搞嵌入式开发的朋友都知道,硬件连接是第一步也是最容易出错的地方。我刚开始用STM32F407和W5500时,就因为SPI接线问题折腾了好几天。这里分享下我的经验,帮你少走弯路。 首先说说W5500这个模块,它是一款全硬件T…...

【IIC通信】Chap.2 从“线与”到“时序”:I2C总线协议深度解析与实战信号分析

1. 从线与逻辑看I2C总线冲突的本质 第一次用示波器抓取I2C波形时,我盯着那条"不听话"的SDA线陷入了沉思——为什么总线上某个设备拉低电平后,其他设备输出的高电平就消失了?这个现象背后正是I2C最精妙的"线与"设计。所有…...

【实战】ESP32 + LN298N 驱动编码器推杆:从零搭建行程闭环控制系统

1. 硬件选型与系统架构设计 这个项目最核心的硬件就是ESP32开发板、LN298N电机驱动模块和带编码器的电动推杆。先说ESP32,我强烈推荐使用ESP32-S3系列,相比S2多了几个硬件PWM通道,对于多电机控制特别友好。实测下来,ESP32的硬件PW…...

告别物理JTAG:手把手在KV260 PYNQ上配置XVC远程调试接口(含Vivado Block Design)

告别物理JTAG:KV260 PYNQ环境下的XVC远程调试实战指南 调试Zynq平台PL逻辑时,传统JTAG连接常受限于物理接触和线缆长度。去年在开发一个工业视觉项目时,产线设备与调试台相距30米,来回插拔JTAG不仅效率低下,还导致多次…...

【青少年CTF S1·2026 公益赛】easy_php

<?php // 屏蔽报错&#xff0c;增加一点黑盒难度 error_reporting(0); // TIPS: FLAG在根目录下class Monitor {private $status;private $reporter;public function __construct() {$this->status "normal";$this->reporter new Logger();}public funct…...

Serilog:从结构化日志认知到 .NET 工程落地何

1. 前言 本文详细介绍如何使用 kylin v10 iso 文件构建出 docker image&#xff0c;docker 版本为 20.10.7。 2. 构建 yum 离线源 2.1. 挂载 ISO 文件 mount Kylin-Server-V10-GFB-Release-030-ARM64.iso /media 2.2. 添加离线 repo 文件 在/etc/yum.repos.d/下创建kylin-local…...

Spring Cloud进阶--分布式权限校验OAuth淄

一、核心问题及解决方案&#xff08;按踩坑频率排序&#xff09; 问题 1&#xff1a;误删他人持有锁——最基础也最易犯的漏洞 成因&#xff1a;释放锁时未做身份校验&#xff0c;直接执行 DEL 命令删除键。典型场景&#xff1a;服务 A 持有锁后&#xff0c;业务逻辑耗时超过锁…...

ANARCI抗体序列编号终极指南:从零基础到实战应用的完整教程

ANARCI抗体序列编号终极指南&#xff1a;从零基础到实战应用的完整教程 【免费下载链接】ANARCI Antibody Numbering and Antigen Receptor ClassIfication 项目地址: https://gitcode.com/gh_mirrors/an/ANARCI ANARCI&#xff08;Antibody Numbering and Antigen Rece…...

嵌入式轻量级调试库:零开销DEBUG_PRINT实现原理

1. 项目概述 Utils 是一个面向嵌入式系统的轻量级调试输出工具库&#xff0c;核心目标是为资源受限的MCU平台&#xff08;如ESP32、STM32、nRF52等&#xff09;提供类 printf() 的格式化打印能力&#xff0c;同时严格控制运行时开销与代码体积。该库不依赖标准C库的 stdio.…...