news 2026/9/13 11:26:23

Cilium 连通性故障排查:cilium connectivity 命令全解析与实战指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Cilium 连通性故障排查:cilium connectivity 命令全解析与实战指南

Cilium 连通性故障排查:cilium connectivity 命令全解析与实战指南

【免费下载链接】ciliumeBPF-based Networking, Security, and Observability项目地址: https://gitcode.com/GitHub_Trending/ci/cilium

导读

cilium connectivity是 Cilium CLI 提供的连通性排查(Connectivity troubleshooting)命令族,用于在 Kubernetes 集群中验证网络连通性测试网络性能。它由cilium connectivity test(集群连通性校验)和cilium connectivity perf(网络性能测试)两个子命令组成。读完本文,你将掌握这两个子命令的完整参数体系、底层测试套件的运行机制,以及如何利用 Hubble 流校验、JUnit 报告、sysdump 等手段在真实集群中快速定位网络问题。


1. 命令总览:connectivity 子命令树

在 Cilium CLI 中,connectivity是一个分组命令(group command),本身不执行任何测试逻辑,只负责承载两个子命令。其命令定义位于 cilium-cli/cli/connectivity.go:

func newCmdConnectivity(hooks api.Hooks) *cobra.Command { cmd := &cobra.Command{ Use: "connectivity", Short: "Connectivity troubleshooting", Long: ``, } cmd.AddCommand(newCmdConnectivityTest(hooks)) cmd.AddCommand(newCmdConnectivityPerf(hooks)) return cmd }

从源码结构看,该命令组提供了两类能力:

子命令功能定位命令定义位置
cilium connectivity test在集群中校验连通性(Validate connectivity in cluster)newCmdConnectivityTest
cilium connectivity perf测试网络性能(Test network performance)newCmdConnectivityPerf

1.1 父命令选项

cilium connectivity自身仅有一个帮助选项:

-h, --help help for connectivity

1.2 继承自父命令(cilium)的全局选项

两个子命令均继承以下全局选项,用于指定目标集群与 Cilium 部署信息:

--as string Username to impersonate for the operation. User could be a regular user or a service account in a namespace. --as-group stringArray Group to impersonate for the operation, this flag can be repeated to specify multiple groups. --context string Kubernetes configuration context --helm-release-name string Helm release name (default "cilium") --kubeconfig string Path to the kubeconfig file -n, --namespace string Namespace Cilium is running in. Can also be set via CILIUM_NAMESPACE env var (default "kube-system")

其中--namespace默认值为kube-system,也支持通过环境变量CILIUM_NAMESPACE设置;--kubeconfig--context用于指定 kubeconfig 路径和要操作的 Kubernetes 上下文。在 connectivity.go 中可以看到,全局命名空间等参数会在RunE入口被注入到测试参数对象中:

params.CiliumNamespace = RootParams.Namespace params.ImpersonateAs = RootParams.ImpersonateAs params.ImpersonateGroups = RootParams.ImpersonateGroups

1.3 相关命令

  • cilium — Cilium provides eBPF-based Networking, Security, and Observability for Kubernetes
  • cilium connectivity perf — Test network performance
  • cilium connectivity test — Validate connectivity in cluster

2. 连通性校验:cilium connectivity test

2.1 基本用法

cilium connectivity test [flags]

命令执行时会自动创建测试命名空间(默认cilium-test),在该命名空间内部署 client、echo server、DNS 等测试 Pod,并基于真实工作负载间的请求验证数据路径是否工作正常。从 suite.go 可以看出,整个执行流程分为:清理模式检查 → JUnit 收集器初始化 → SetupAndValidate(部署测试工件并校验)→ 按 TestSuite 构建测试 → 运行测试 → 收集 JUnit 报告 → 清理几个阶段。

2.2 核心行为选项

选项默认值说明
--cleanupfalse只清理所有连通性测试工件(命名空间、Deployment、Service),不运行测试
--force-deployfalse强制重新部署测试工件
--single-nodefalse只运行能在单节点上执行的测试
--test-concurrency int1并行执行连通性测试的命名空间数量(≤0 时按 1 处理)
--test-namespace stringcilium-test执行连通性测试的命名空间(始终追加序号以兼容--test-concurrency,如cilium-test-1
--timeout duration套件级超时整个连通性测试套件允许的最大运行时间
--test strings只运行匹配给定正则表达式的测试;以!开头表示跳过;支持'/pod-to-cidr'形式指定 Scenario
-p, --pause-on-failfalse测试失败时暂停执行
-v, --verbosefalse显示详细信息且不缓冲输出
-t, --timestampfalse在消息中显示时间戳
-d, --debugfalse显示调试信息
--exit-zero-on-failurefalse即使检测到测试失败也以零返回码退出
--post-test-sleep duration0每个测试结束后、下一个测试开始前的等待时间

关于--test的筛选逻辑,源码 connectivity.go 将其编译为正则表达式:以!开头的表达式追加到params.SkipTests,其余追加到params.RunTests,从而实现对测试的"只跑指定项"或"跳过指定项"两种过滤。

2.3 集群与 Cilium 定位选项

选项默认值说明
--agent-daemonset-name stringciliumcilium agent DaemonSet 的名称
--agent-pod-selector stringk8s-app=cilium用于选择 cilium-agent Pod 的标签
--cilium-pod-selector stringapp.kubernetes.io/part-of=cilium匹配所有 cilium 相关 Pod 的标签选择器
--node-selector map将连通性 Pod 限制到匹配此标签的节点
--node-cidr strings覆盖集群所有节点的一个或多个 CIDR
--k8s-version stringKubernetes 服务端版本,自动探测失败时使用
--multi-cluster string跨集群测试,指定目标 context
--ip-families strings[ipv4,ipv6]将测试动作限制到指定 IP 族
--service-type stringNodePort为连通性测试创建的 Kubernetes Service 类型
--secondary-network-iface string辅助网络接口名(如用于在多网络上测试 NodePort BPF)
--tolerations strings追加到测试 Pod 的额外 NoSchedule 容忍
--namespace-labels map为连通性测试命名空间添加标签
--chart-directory stringHelm chart 目录
--helm-values-secret-name stringcilium-cli-helm-values存储自动生成的 helm values 文件的 Secret 名称
--assume-cilium-version string为连通性测试假定 Cilium 版本

2.4 外部目标(External Target)选项

连通性测试需要访问集群外的目标来验证出站(egress)连通性,默认使用 Cloudflare 的公共 DNS 与相关 IP:

选项默认值说明
--external-ip string1.1.1.1用作连通性测试外部目标的 IPv4
--external-ipv6 string2606:4700:4700::1111用作外部目标的 IPv6
--external-other-ip string1.0.0.1用作第二个外部目标的 IPv4
--external-other-ipv6 string2606:4700:4700::1001用作第二个外部目标的 IPv6
--external-cidr string1.0.0.0/8用作外部目标的 IPv4 CIDR
--external-cidrv6 string2606:4700:4700::/96用作外部目标的 IPv6 CIDR
--external-target stringone.one.one.one.用作外部目标的域名
--external-other-target stringk8s.io.用作第二个外部目标的域名
--external-target-ca-name stringcabundle外部目标的 CA Secret 名称
--external-target-ca-namespace string测试命名空间外部目标 CA Secret 所在命名空间
--external-target-fake-dnsfalse在通配符测试中使用 DNS 覆盖外部目标
--external-target-ipv6-capablefalse外部目标是否支持 IPv6
--retry uint3外部目标连接失败时的重试次数
--retry-delay duration3s外部目标重试间隔

需要注意的是,离线或隔离环境(无法访问外网)中应通过--external-target--external-ip等参数将外部目标替换为集群可达的地址,否则相关测试会失败。在 connectivity.go 中可以看到,若未显式指定--external-target-ca-namespace,测试工具会自动将 CA Secret 命名空间设为当前测试命名空间。

2.5 请求与镜像选项

选项默认值说明
--connect-timeout duration2s允许建立连接的最大时间
--request-timeout duration10s允许单个请求完成的最大时间
--curl-image stringquay.io/cilium/alpine-curl:v1.10.0@sha256:...curl 镜像路径
--curl-insecurefalse向 curl 传递--insecure
--curl-parallel uint0curl 命令中的并行请求数(0 表示禁用)
--dns-test-server-image stringregistry.k8s.io/coredns/coredns:v1.14.7@sha256:...用作 DNS 测试服务器的 CoreDNS 镜像
--echo-image stringgcr.io/k8s-staging-gateway-api/echo-advanced:v20251204-v1.4.1echo server 镜像
--json-mock-image stringquay.io/cilium/json-mock:v1.4.1@sha256:...json mock 镜像
--frr-image stringquay.io/frrouting/frr:10.7.1@sha256:...FRR(BGP 测试)镜像
--socat-image stringdocker.io/alpine/socat:1.8.1.3@sha256:...组播测试使用的 socat 镜像
--test-conn-disrupt-image stringquay.io/cilium/test-connection-disruption:v0.0.18@sha256:...连接中断测试镜像
--print-image-artifactsfalse打印使用的镜像工件列表

这些镜像默认值定义在 cilium-cli/defaults 中,通过ConnectivityCheckImagesTestConnectivityCheckOptionalImagesTest等映射提供给参数绑定(见 connectivity.go)。使用--print-image-artifacts可以快速列出测试将要拉取的所有镜像,便于在离线环境中提前同步。

2.6 Hubble 流校验与故障排查选项

cilium connectivity test深度集成了 Hubble,用于对测试期间的流量进行验证与排障:

选项默认值说明
--hubbletrue自动使用 Hubble 进行流校验与故障排查
--hubble-server stringlocalhost:4245用于流校验的 Hubble 端点地址
--flow-validation stringwarning启用 Hubble 流校验,取值{ disabled \| warning \| strict }
--all-flowsfalse流校验期间打印所有流
--print-flowsfalse为每个测试打印流日志

--flow-validation的三种模式含义为:disabled关闭流校验;warning仅告警不判定失败;strict将流校验失败视为测试失败。配合--print-flows--all-flows,可以在某个测试失败时直接查看相关数据包的 Hubble 流记录,快速判断丢包点(被策略丢弃、被 BPF 程序 drop、还是加密链路异常等)。

2.7 连接中断(Conn Disrupt)测试选项

连接中断测试用于在流量持续运行的同时触发节点/代理重启、IPsec XFRM 错误等扰动,从而度量 Cilium 升级或故障切换期间的连接中断情况:

选项默认值说明
--include-conn-disrupt-testfalse包含连接中断测试
--include-conn-disrupt-test-egwfalse包含 Egress Gateway 场景的连接中断测试
--include-conn-disrupt-test-l7-trafficfalse包含 L7 流量的连接中断测试
--include-conn-disrupt-test-ns-trafficfalse包含 NS(命名空间)流量的连接中断测试
--conn-disrupt-test-setupfalse设置连接中断测试依赖
--conn-disrupt-dispatch-interval duration0TCP 报文分发间隔
--conn-disrupt-client-timeout duration0连接中断客户端单请求超时,超时后退出(0 使用客户端默认值)
--conn-disrupt-test-restarts-path string/tmp/cilium-conn-disrupt-restarts连接中断测试临时结果文件(内部使用)
--conn-disrupt-test-xfrm-errors-path string/tmp/cilium-conn-disrupt-xfrm-errors连接中断测试 XFRM 错误临时结果文件(内部使用)

2.8 失败处理与 JUnit 报告

选项默认值说明
--collect-sysdump-on-failurefalse测试失败后收集 sysdump
--junit-file string生成 JUnit 报告并写入文件
--junit-property map向生成的 JUnit 文件添加 key=value 属性

JUnit 报告机制在 suite.go 中有专门设计:收集器在套件运行前就创建,即使测试在 setup/校验阶段失败中止,也会生成一个非空报告,并通过 deferredWrite将合成失败写入磁盘——保证 CI 无论在哪一阶段失败都能产出cilium-junits工件。

2.9 sysdump 相关选项

启用--collect-sysdump-on-failure后,可用以下选项控制 sysdump 的采集范围(默认针对 Cilium 各组件 Pod 的标签选择器均与标准 Helm 安装一致):

选项默认值说明
--sysdump-cilium-bugtool-flags stringArray传递给cilium-bugtool的可选标志集
--sysdump-cilium-daemon-set-label-selector stringk8s-app=cilium定位 Cilium DaemonSet 的标签
--sysdump-cilium-label-selector stringk8s-app=cilium定位 Cilium Pod 的标签
--sysdump-cilium-envoy-label-selector stringk8s-app=cilium-envoy定位 Cilium Envoy Pod 的标签
--sysdump-cilium-operator-label-selector stringio.cilium/app=operator定位 Cilium operator Pod 的标签
--sysdump-cilium-node-init-selector stringapp=cilium-node-init定位 cilium-node-init Pod 的标签
--sysdump-cilium-namespace string继承--namespaceCilium 所在命名空间
--sysdump-cilium-helm-release-name string继承--helm-release-nameCilium Helm release 名称
--sysdump-cilium-spire-agent-selector stringapp=spire-agent定位 spire-agent Pod 的标签
--sysdump-cilium-spire-server-selector stringapp=spire-server定位 spire-server Pod 的标签
--sysdump-cilium-spire-namespace stringCilium SPIRE 安装所在命名空间
--sysdump-clustermesh-apiserver-label-selector stringk8s-app=clustermesh-apiserver定位 clustermesh-apiserver Pod 的标签
--sysdump-clustermesh-generate-certs-label-selector stringk8s-app=clustermesh-apiserver-generate-certs定位证书生成 Pod 的标签
--sysdump-hubble-label-selector stringk8s-app=hubble定位 Hubble Pod 的标签
--sysdump-hubble-relay-labels stringk8s-app=hubble-relay定位 Hubble Relay Pod 的标签
--sysdump-hubble-ui-labels stringk8s-app=hubble-ui定位 Hubble UI Pod 的标签
--sysdump-hubble-flows-count int10000采集的 Hubble 流数量(0 表示禁用)
--sysdump-hubble-flows-timeout duration5s采集 Hubble 流的超时时间
--sysdump-cni-config-directory string/etc/cni/net.d/CNI 配置所在目录
--sysdump-cni-configmap-name stringcni-configurationCNI ConfigMap 名称
--sysdump-collect-logs-from-not-ready-agentstrue是否从未就绪的 Cilium agent Pod 采集日志
--sysdump-copy-retry-limit int100文件拷贝操作重试上限(-1 表示无限重试)
--sysdump-debugfalse是否启用调试日志
--sysdump-detect-gops-pidfalse是否自动检测 gops agent PID
--sysdump-extra-label-selectors stringArray追加的标签选择器,用于采集额外 Pod 日志
--sysdump-logs-limit-bytes int1073741824采集日志的字节上限
--sysdump-logs-since-time duration8760h0m0s采集日志的时间回溯范围
--sysdump-node-list string按逗号分隔的节点 IP/名称,过滤采集 gops 与日志的 Pod
--sysdump-output-filename stringcilium-sysdump-<ts>结果文件名(不含扩展名),<ts>为时间戳占位符
--sysdump-profilingtrue是否采集 profiling 数据
--sysdump-quickfalse快速模式(跳过cilium-bugtool输出与日志采集)
--sysdump-tetragon-helm-release-name stringTetragon Helm release 名称
--sysdump-tetragon-label-selector stringapp.kubernetes.io/name=tetragon定位 Tetragon Pod 的标签
--sysdump-tetragon-operator-label-selector stringapp.kubernetes.io/name=tetragon-operator定位 Tetragon operator Pod 的标签
--sysdump-tetragon-namespace stringkube-systemTetragon 所在命名空间
--sysdump-tracingfalse是否采集 tracing 数据
--sysdump-worker-count int20使用的 worker 数(低于有效下限时会自动上调,默认等于可用 CPU 数)

3. 性能测试:cilium connectivity perf

3.1 基本用法

cilium connectivity perf [flags]

perf子命令用于测试集群网络的吞吐、延迟与 QoS 表现。从 connectivity.go 的PreRunE可以看出,执行 perf 测试时工具会自动强制params.Perf = trueparams.ForceDeploy = true并关闭 Hubble(params.Hubble = false),复用与test相同的 RunE 执行链路;同时若指定了--report-dir会预先创建报告目录,而请求内核 profile 但未指定--report-dir时会告警并跳过该项。

3.2 测试维度选项

选项默认值说明
--throughputtrue运行吞吐测试
--throughput-multitrue运行多流吞吐测试
--rrtrue运行 RR(Request-Response,请求-响应/延迟)测试
--crrfalse运行 CRR(Connection Request-Response,连接型请求-响应)测试
--udpfalse运行 UDP 测试
--bandwidthfalse测试 Pod 网络带宽管理
--net-qosfalse测试 Pod 网络服务质量(QoS)
--host-nettrue测试主机网络
--pod-nettrue测试 Pod 网络
--pod-to-hostfalse测试 Pod 到主机流量
--host-to-podfalse测试主机到 Pod 流量
--same-nodetrue运行客户端与服务端在同一节点的测试
--other-nodetrue运行客户端与服务端在不同节点的测试

3.3 运行参数选项

选项默认值说明
--duration duration10s性能测试运行时长
--setup-delay duration0性能测试开始前的额外延迟
--samples int1性能采样次数(每个测试运行多少次)
--streams uint4多流测试的并行度
--msg-size int1024UDP 测试使用的消息大小(字节)
--report-dir string以 JSON 格式保存性能结果到该目录
--performance-image stringquay.io/cilium/network-perf:3.21-...@sha256:...性能测试镜像
--node-selector-server stringcilium.io/no-schedule!=trueserver Pod(以及同节点 client)的节点选择器
--node-selector-client stringcilium.io/no-schedule!=true跨节点 client Pod 的节点选择器
--namespace-labels map为测试命名空间添加标签
--test-namespace stringcilium-test执行测试的命名空间(同样会追加序号)
--tolerations strings追加到测试 Pod 的额外 NoSchedule 容忍
-d, --debugfalse显示调试信息
--print-image-artifactsfalse打印使用的镜像工件
--unsafe-capture-kernel-profilesfalse测试期间采集内核 profile(警告:仅可在一次性节点上运行,会安装额外软件并修改其配置)

关于默认节点选择器,源码注释(connectivity.go)给出了明确解释:默认值排除了未运行 Cilium 的节点(带cilium.io/no-schedule!=true标签,例如通过cilium install --nodes-without-cilium安装的场景),因为这类节点上 perf Pod 永远不会 Ready——agent-not-ready的 NoExecute 污点只有在节点上运行了 Cilium Pod 后才会被移除。需要刻意将 Pod 调度到这类节点时,可自行覆盖该选择器。

3.4 perf 与 test 的共享基础设施

perftest都通过 registerCommonFlags 注册共享标志(--debug--tolerations--test-namespace--namespace-labels--print-image-artifacts),且最终都走同一个RunE。测试套件的选择由 builder.GetTestSuites 根据参数决定:params.Perf为真时加载性能相关测试构建器(如 network_perf.go、network_qos.go、network_bandwidth_limit.go),否则加载连通性测试构建器集合。


4. 底层运行机制:从命令到测试套件

理解命令背后的执行链路,有助于解释参数的实际作用。

4.1 参数解析与测试过滤

cilium connectivity test的 flags 全部绑定到 check.Parameters 结构体。测试筛选逻辑位于RunE(connectivity.go):每个--test表达式被编译为正则,!前缀进入SkipTests,其余进入RunTests,随后由测试运行框架按正则匹配具体测试与 Scenario(如/pod-to-cidr)。

4.2 并发与命名空间隔离

--test-concurrency大于 1 时,newConnectivityTests 会为每个并发实例创建独立的ConnectivityTest

  • 测试命名空间被追加序号(如cilium-test-1cilium-test-2),第一个命名空间同时承载共享资源;
  • 外部部署端口ExternalDeploymentPort(8190)与 echo server 主机端口EchoServerHostPort(4000)会按实例索引递增,避免端口冲突;
  • 每个实例在独立 goroutine 中执行SetupAndValidateRun(见 suite.go),并通过runner.MultiError汇总错误。

4.3 测试套件的组装

suite.go 中,builder.GetTestSuites返回一组测试构建函数;每个构建函数向ConnectivityTest注册大量具体测试(Pod-to-Pod、Pod-to-Service、Pod-to-CIDR、DNS、L7 HTTP、TLS/SNI、Egress Gateway、IPsec 加密、BGP 控制面等),随后执行静态路由设置、运行测试、收集 JUnit 报告并清理。这些测试构建器集中存放在 cilium-cli/connectivity/builder,策略清单(如 allow-all-egress、deny-all-ingress、client-egress-l7-http 等)通过go:embed从 manifests 目录嵌入二进制,测试执行时会动态下发这些 CiliumNetworkPolicy。

4.4 超时与取消

--timeout大于 0 时,RunE会为整个套件创建带 cause 的context.WithTimeoutCause(connectivity.go),超时信息为 "connectivity test suite timeout (%s) reached";同时通过signal.NotifyContext监听 SIGINT/SIGTERM,实现 Ctrl-C 优雅取消。取消/超时后会打印 "Cancellation request (...) received, cancelling tests..." 并中止后续测试。


5. 典型实战场景

5.1 快速验证集群连通性(默认套件)

cilium connectivity test

该命令会创建cilium-test命名空间,部署 client/echo/DNS 等测试工作负载,运行默认的连通性、策略与 DNS 测试,并借助 Hubble(默认开启)以warning模式校验流量。

5.2 只关注特定场景

# 只运行 pod-to-pod 相关测试 cilium connectivity test --test '/pod-to-pod' # 运行除加密测试外的所有测试 cilium connectivity test --test '!encryption' # 跳过所有与 DNS 相关的测试 cilium connectivity test --test '!dns'

5.3 单节点环境限制测试范围

cilium connectivity test --single-node

限制在单节点上可运行的测试,适合 Minikube、Kind 单节点集群或资源受限环境。

5.4 失败即中断并保留现场

cilium connectivity test --pause-on-fail --collect-sysdump-on-failure

失败时暂停执行,并自动收集 sysdump(含 Hubble 流、cilium-bugtool 输出、各组件日志),便于人工介入排查。

5.5 CI 集成:JUnit 报告

cilium connectivity test --junit-file cilium-junit.xml \ --junit-property job_name=nightly \ --exit-zero-on-failure

产出 JUnit 报告供 CI 平台解析;--exit-zero-on-failure可按需让流水线在存在失败时仍返回 0(例如需要继续执行后续归档步骤的场景)。

5.6 性能基线测试

# 运行默认性能测试(吞吐 + 多流吞吐 + RR,双节点与同节点场景) cilium connectivity perf # 追加 UDP 与 CRR 测试,采样 3 次,结果落盘为 JSON cilium connectivity perf --udp --crr --samples 3 --report-dir ./perf-results # 只测 Pod 网络吞吐,时长 30s,4 流并行 cilium connectivity perf --throughput --pod-net --host-net=false --duration 30s --streams 4

--report-dir指定的目录会保存 JSON 格式的性能结果,便于跨版本对比(如 Cilium 升级前后的吞吐/延迟变化)。

5.7 清理测试工件

cilium connectivity test --cleanup

在不运行任何测试的情况下,删除连通性测试创建的所有命名空间、Deployment 与 Service。该模式在 suite.go 中优先处理:一旦检测到CleanupOnly,立即执行清理并返回。


6. 使用建议与注意事项

  • 外部目标可达性:默认外部目标(1.1.1.1one.one.one.one.k8s.io.等)依赖公网访问。离线环境或受限网络务必通过--external-target--external-ip--external-cidr等参数替换为内网可达地址,否则 to-cidr / to-fqdns 类测试必然失败。
  • Hubble 依赖--hubble默认开启,流校验需要集群中已部署并启用 Hubble(含 Relay,端口localhost:4245)。未启用 Hubble 的集群可设置--hubble=false--flow-validation=disabled
  • 镜像拉取:测试依赖 curl、CoreDNS、echo、FRR、socat、network-perf 等多个第三方镜像。首次运行前可先执行--print-image-artifacts查看完整镜像清单,确保集群可以拉取或在离线环境提前导入。
  • 性能测试资源--unsafe-capture-kernel-profiles会修改节点配置并安装额外软件,只能在可丢弃的专用节点上使用。
  • 多集群场景--multi-cluster <context>支持跨集群连通性测试,用于 Cluster Mesh 场景下的服务发现与策略互通验证。
  • 版本匹配--assume-cilium-version--k8s-version用于在自动探测失败或需要模拟特定版本行为时显式指定版本。

7. 总结

cilium connectivity命令族把"连通性校验"与"性能测试"两类高频运维动作统一封装,配合 Hubble 流校验、JUnit 报告、sysdump 自动采集与正则化测试筛选,构成了从"发现问题 → 缩小范围 → 导出证据"的完整排查闭环。其命令实现位于 cilium-cli/cli/connectivity.go,测试编排核心位于 cilium-cli/connectivity/suite.go,测试套件构建器与策略清单则分别存放于 cilium-cli/connectivity/builder 与 cilium-cli/connectivity/tests,读者可按需深入研读源码,进一步理解每个测试场景对应的数据路径与策略语义。

【免费下载链接】ciliumeBPF-based Networking, Security, and Observability项目地址: https://gitcode.com/GitHub_Trending/ci/cilium

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/13 11:26:14

数据湖与数据仓库溯源技术对比与应用场景

1. 数据湖与数据仓库的本质差异数据湖和数据仓库作为现代数据管理的两大核心架构&#xff0c;其设计哲学和应用场景存在根本性差异。理解这些差异是掌握溯源技术区别的前提。数据仓库采用"写时模式"(Schema-on-Write)的设计理念&#xff0c;数据在入库前必须经过严格…

作者头像 李华
网站建设 2026/9/13 11:25:07

AI模型评估防黑客攻击与动态对抗技术解析

1. 项目背景与核心挑战 在人工智能安全领域&#xff0c;我们正面临一个日益严峻的问题&#xff1a;如何构建既能有效评判模型推理质量&#xff0c;又能抵御恶意攻击的评估系统。这个课题源于当前大语言模型在实际应用中暴露出的脆弱性——即使是最先进的评估体系&#xff0c;也…

作者头像 李华
网站建设 2026/9/13 11:20:33

微信小程序教学平台开发实战与优化方案

1. 项目概述"微信小程序 课程教学作业笔记平台"是一个基于微信生态的轻量化教学辅助工具。作为一名长期从事教育信息化开发的工程师&#xff0c;我发现传统教学管理系统普遍存在使用门槛高、操作复杂的问题。而微信小程序凭借其免安装、即用即走的特性&#xff0c;恰…

作者头像 李华