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

如何检查 Kubernetes 网络配置

简介

Kubernetes 是一个容器编排系统,可以管理集群中的容器化应用程序。在集群中保持所有容器之间的网络连接需要一些高级网络技术。在本文中,我们将简要介绍一些工具和技术,用于检查这种网络设置。

如果您正在调试连接问题,调查网络吞吐量问题,或者探索 Kubernetes 的运行方式,这些工具可能会很有用。

如果您想了解更多关于 Kubernetes 的一般信息,我们的指南《Kubernetes 简介》涵盖了基础知识。对于 Kubernetes 的网络概述,请阅读《深入了解 Kubernetes 网络》。

如果您正在寻找托管的 Kubernetes 服务,可以查看我们为增长而构建的简单、托管的 Kubernetes 服务。

入门指南

本教程将假定您已经有一个 Kubernetes 集群,并在本地安装并配置了 kubectl 以连接到该集群。

以下各节包含许多命令,这些命令旨在在 Kubernetes 节点上运行。它们看起来像这样:

echo '这是一个节点命令'

应在本地机器上运行的命令将具有以下外观:

[本地环境]
echo '这是一个本地命令'

查找 Pod 的集群 IP

要查找 Kubernetes Pod 的集群 IP 地址,请在本地机器上使用 kubectl get pod 命令,并带有 -o wide 选项。此选项将列出更多信息,包括 Pod 所在的节点以及 Pod 的集群 IP。

[本地环境]
kubectl get pod -o wide
[本地环境]NAME                           READY     STATUS    RESTARTS   AGE       IP            NODE
hello-world-5b446dd74b-7c7pk   1/1       Running   0          22m       10.244.18.4   node-one
hello-world-5b446dd74b-pxtzt   1/1       Running   0          22m       10.244.3.4    node-two

IP 列将包含每个 Pod 的内部集群 IP 地址。

如果您没有看到您要查找的 Pod,请确保您在正确的命名空间中。您可以通过添加 --all-namespaces 标志来列出所有命名空间中的所有 Pod。

查找服务的 IP

我们也可以使用 kubectl 来查找服务 IP。在这种情况下,我们将列出所有命名空间中的所有服务:

[本地环境]
kubectl get service --all-namespaces
[本地环境]NAMESPACE     NAME                       TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)         AGE
default       kubernetes                 ClusterIP   10.32.0.1       <none>        443/TCP         6d
kube-system   csi-attacher-doplugin      ClusterIP   10.32.159.128   <none>        12345/TCP       6d
kube-system   csi-provisioner-doplugin   ClusterIP   10.32.61.61     <none>        12345/TCP       6d
kube-system   kube-dns                   ClusterIP   10.32.0.10      <none>        53/UDP,53/TCP   6d
kube-system   kubernetes-dashboard       ClusterIP   10.32.226.209   <none>        443/TCP         6d

服务 IP 可以在 CLUSTER-IP 列中找到。

查找并进入 Pod 网络命名空间

每个 Kubernetes Pod 都被分配了自己的网络命名空间。网络命名空间(或 netns)是 Linux 的网络原语,提供了网络设备之间的隔离。

从 Pod 的 netns 中运行命令可能很有用,以检查 DNS 解析或一般网络连接。为此,我们首先需要查找一个 Pod 中容器的进程 ID。对于 Docker,我们可以使用两个命令来完成。首先,列出在节点上运行的容器:

docker ps
CONTAINER ID        IMAGE                                   COMMAND                  CREATED             STATUS              PORTS               NAMES
173ee46a3926        gcr.io/google-samples/node-hello        "/bin/sh -c 'node se…"   9 days ago          Up 9 days                               k8s_hello-world_hello-world-5b446dd74b-pxtzt_default_386a9073-7e35-11e8-8a3d-bae97d2c1afd_0
11ad51cb72df        k8s.gcr.io/pause-amd64:3.1              "/pause"                 9 days ago          Up 9 days                               k8s_POD_hello-world-5b446dd74b-pxtzt_default_386a9073-7e35-11e8-8a3d-bae97d2c1afd_0
. . .

找到您感兴趣的 Pod 中的任何容器的 容器 ID名称。在上面的输出中,我们展示了两个容器:

  • 第一个容器是在 hello-world Pod 中运行的 hello-world 应用程序
  • 第二个是在 hello-world Pod 中运行的 pause 容器。此容器仅用于保存 Pod 的网络命名空间

要获取任一容器的进程 ID,请记下容器 ID 或名称,并将其用于以下 docker 命令:

docker inspect --format '{{ .State.Pid }}' container-id-or-name
14552

将输出一个进程 ID(或 PID)。现在我们可以使用 nsenter 程序在该进程的网络命名空间中运行命令:

nsenter -t your-container-pid -n ip addr

请确保使用您自己的 PID,并将 ip addr 替换为您想在 Pod 的网络命名空间中运行的命令。

查找 Pod 的虚拟以太网接口

每个 Pod 的网络命名空间通过虚拟以太网管道与节点的根 netns 进行通信。在节点端,这个管道会显示为一个设备,通常以 veth 开头并以唯一标识符结尾,比如 veth77f2275veth01。在 Pod 内部,这个管道会显示为 eth0

将特定的 veth 设备与相应的 Pod 相关联可能会很有用。为了做到这一点,我们将列出节点上的所有网络设备,然后列出 Pod 的网络命名空间中的设备。然后我们可以对比这两个列表中的设备编号,以建立它们之间的关联。

首先,在 Pod 的网络命名空间中使用 nsenter 运行 ip addr。有关如何执行此操作,请参考前面的章节 查找并进入 Pod 网络命名空间

nsenter -t your-container-pid -n ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft forever
10: eth0@if11: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UP group defaultlink/ether 02:42:0a:f4:03:04 brd ff:ff:ff:ff:ff:ff link-netnsid 0inet 10.244.3.4/24 brd 10.244.3.255 scope global eth0valid_lft forever preferred_lft forever

该命令将输出 Pod 的接口列表。请注意示例输出中 eth0@ 后面的 if11 编号。这意味着该 Pod 的 eth0 连接到节点的第 11 个接口。现在在节点的默认命名空间中运行 ip addr 以列出其接口:

ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope hostvalid_lft forever preferred_lft forever. . .7: veth77f2275@if6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue master docker0 state UP group defaultlink/ether 26:05:99:58:0d:b9 brd ff:ff:ff:ff:ff:ff link-netnsid 0inet6 fe80::2405:99ff:fe58:db9/64 scope linkvalid_lft forever preferred_lft forever
9: vethd36cef3@if8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue master docker0 state UP group defaultlink/ether ae:05:21:a2:9a:2b brd ff:ff:ff:ff:ff:ff link-netnsid 1inet6 fe80::ac05:21ff:fea2:9a2b/64 scope linkvalid_lft forever preferred_lft forever
11: veth4f7342d@if10: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue master docker0 state UP group defaultlink/ether e6:4d:7b:6f:56:4c brd ff:ff:ff:ff:ff:ff link-netnsid 2inet6 fe80::e44d:7bff:fe6f:564c/64 scope linkvalid_lft forever preferred_lft forever

在这个示例输出中,第 11 个接口是 veth4f7342d。这是我们要调查的 Pod 的虚拟以太网管道。

检查 Conntrack 连接跟踪

在 1.11 版本之前,Kubernetes 使用 iptables NAT 和 conntrack 内核模块来跟踪连接。要列出当前正在被跟踪的所有连接,使用 conntrack 命令:

conntrack -L

要持续监视新连接,使用 -E 标志:

conntrack -E

要列出针对特定目标地址进行 conntrack 跟踪的连接,使用 -d 标志:

conntrack -L -d 10.32.0.1

如果您的节点在与服务建立可靠连接时出现问题,可能是您的连接跟踪表已满,新连接正在被丢弃。如果是这种情况,您可能会在系统日志中看到以下消息:

Jul 12 15:32:11 worker-528 kernel: nf_conntrack: table full, dropping packet.

有一个 sysctl 设置用于跟踪的最大连接数。您可以使用以下命令列出当前值:

sysctl net.netfilter.nf_conntrack_max
net.netfilter.nf_conntrack_max = 131072

要设置新值,使用 -w 标志:

sysctl -w net.netfilter.nf_conntrack_max=198000

要使此设置永久生效,将其添加到 sysctl.conf 文件中:

. . .
net.ipv4.netfilter.ip_conntrack_max = 198000

检查 Iptables 规则

在版本 1.11 之前,Kubernetes 使用 iptables NAT 来实现服务 IP 的虚拟 IP 转换和负载均衡。

要在节点上转储所有 iptables 规则,请使用 iptables-save 命令:

iptables-save

由于输出可能很长,您可能希望将其重定向到文件(iptables-save > output.txt)或使用分页器(iptables-save | less)以便更轻松地查看规则。

要仅列出 Kubernetes 服务 NAT 规则,请使用 iptables 命令和 -L 标志来指定正确的链:

iptables -t nat -L KUBE-SERVICES

Chain KUBE-SERVICES (2 references)
target     prot opt source               destination
KUBE-SVC-TCOU7JCQXEZGVUNU  udp  --  anywhere             10.32.0.10           /* kube-system/kube-dns:dns cluster IP */ udp dpt:domain
KUBE-SVC-ERIFXISQEP7F7OF4  tcp  --  anywhere             10.32.0.10           /* kube-system/kube-dns:dns-tcp cluster IP */ tcp dpt:domain
KUBE-SVC-XGLOHA7QRQ3V22RZ  tcp  --  anywhere             10.32.226.209        /* kube-system/kubernetes-dashboard: cluster IP */ tcp dpt:https
. . .

查询集群 DNS

调试集群 DNS 解析的一种方法是部署一个带有您需要的所有工具的调试容器,然后使用 kubectl 在其上执行 nslookup。这在官方 Kubernetes 文档中有描述。

另一种查询集群 DNS 的方法是在节点上使用 dignsenter。如果在基于 Debian 的 Linux 发行版上未安装 dig,可以使用 apt 进行安装:

apt install dnsutils

首先,找到 kube-dns 服务的集群 IP:

[environment local]
kubectl get service -n kube-system kube-dns
[environment local]NAME       TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)         AGE
kube-dns   ClusterIP   10.32.0.10   <none>        53/UDP,53/TCP   15d

上面突出显示了集群 IP。接下来,我们将使用 nsenter 在容器命名空间中运行 dig。有关此操作的更多信息,请参阅 查找并进入 Pod 网络命名空间 部分:

nsenter -t 14346 -n dig kubernetes.default.svc.cluster.local @10.32.0.10

dig 命令查找了服务的完整域名 service-name.namespace.svc.cluster.local,并指定了集群 DNS 服务 IP 的 IP(@10.32.0.10)。

查看 IPVS 详细信息

从 Kubernetes 1.11 开始,kube-proxy 可以配置 IPVS 来处理虚拟服务 IP 到 Pod IP 的转换。您可以使用 ipvsadm 列出 IP 的转换表:

ipvsadm -Ln

IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags-> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  100.64.0.1:443 rr-> 178.128.226.86:443           Masq    1      0          0
TCP  100.64.0.10:53 rr-> 100.96.1.3:53                Masq    1      0          0-> 100.96.1.4:53                Masq    1      0          0
UDP  100.64.0.10:53 rr-> 100.96.1.3:53                Masq    1      0          0-> 100.96.1.4:53                Masq    1      0          0

要显示单个服务 IP,请使用 -t 选项并指定所需的 IP:

ipvsadm -Ln -t 100.64.0.10:53

Prot LocalAddress:Port Scheduler Flags-> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  100.64.0.10:53 rr-> 100.96.1.3:53                Masq    1      0          0-> 100.96.1.4:53                Masq    1      0          0

结论

在本文中,我们回顾了一些用于探索和检查 Kubernetes 集群网络细节的命令和技术。有关 Kubernetes 的更多信息,请查看我们的 Kubernetes 教程标签和官方 Kubernetes 文档。

相关文章:

如何检查 Kubernetes 网络配置

简介 Kubernetes 是一个容器编排系统&#xff0c;可以管理集群中的容器化应用程序。在集群中保持所有容器之间的网络连接需要一些高级网络技术。在本文中&#xff0c;我们将简要介绍一些工具和技术&#xff0c;用于检查这种网络设置。 如果您正在调试连接问题&#xff0c;调查…...

如何将网站封装成App:小猪APP分发助你实现

你有没有想过&#xff0c;将你的网站变成一个App会是什么样子&#xff1f;想象一下&#xff0c;用户只需点击一下图标&#xff0c;就能立刻访问你的内容&#xff0c;而不是在浏览器中输入网址。这不仅提升了用户体验&#xff0c;还能增加用户粘性。这一切都可以通过将网站封装成…...

探索C嘎嘎的奇妙世界:第十六关---STL(vector的练习)

1.只出现一次的数字 我们可以使用异或运算来解决这个问题&#xff1a; 异或运算有一个重要的性质&#xff1a;两个相同的数进行异或运算结果为 0&#xff0c;任何数与 0 异或结果为其本身。对于数组中的元素&#xff0c;依次进行异或运算&#xff0c;出现两次的元素异…...

最新扣子(Coze)实战案例:扣子卡片的制作及使用,完全免费教程

&#x1f9d9;‍♂️ 大家好&#xff0c;我是斜杠君&#xff0c;手把手教你搭建扣子AI应用。 &#x1f4dc; 本教程是《AI应用开发系列教程之扣子(Coze)实战教程》&#xff0c;完全免费学习。 &#x1f440; 关注斜杠君&#xff0c;可获取完整版教程。&#x1f44d;&#x1f3f…...

Node-red win11安装

文章目录 前言一、安装node.js和npm二、安装Node-red三、 运行Node-red 前言 Node-RED 是一种编程工具&#xff0c;用于以新颖有趣的方式将硬件设备、API 和在线服务连接在一起。 它提供了一个基于浏览器的编辑器&#xff0c;只需单击一下即可将调色板中的各种节点轻松连接在…...

永久更改R包的安装目录

要永久更改 R 包的安装目录&#xff0c;可以通过设置 R 配置文件来实现。以下是步骤说明&#xff1a; 1. 查找和修改 R 配置文件 R 有几个配置文件用于保存用户和系统的设置&#xff1a; 用户级配置文件&#xff1a;通常位于 ~/.Rprofile系统级配置文件&#xff1a;通常位于…...

Webrtc支持FFMPEG硬解码之NVIDA(二)

一、前言 此系列文章分分为三篇, Webrtc支持FFMPEG硬解码之Intel(一)-CSDN博客 Webrtc支持FFMPEG硬解码之NVIDA(二)-CSDN博客 Webrtc支持FFMPEG硬解码之解码实现-CSDN博客 AMD硬解目前还没找到可用解码器,欢迎留言交流 二、环境 Windows平台 VS2019 Cmake 三、下…...

整理好了!2024年最常见 20 道设计模式面试题(九)

上一篇地址&#xff1a;整理好了&#xff01;2024年最常见 20 道设计模式面试题&#xff08;八&#xff09;-CSDN博客 十七、什么是享元模式&#xff1f;它在资源优化中扮演什么角色&#xff1f; 享元模式&#xff08;Flyweight Pattern&#xff09;是一种常用的软件设计模式…...

RAG实操教程langchain+Milvus向量数据库创建你的本地知识库 二

Miluvs 向量数据库 关于 Milvui 可以参考我的前两篇文章 • 一篇文章带你学会向量数据库Milvus&#xff08;一&#xff09;[1]• 一篇文章带你学会向量数据库Milvus&#xff08;二&#xff09;[2] 下面我们安装 pymilvus 库 pip install --upgrade --quiet pymilvus如果你…...

Spring+SpringMVC介绍+bean实例化+依赖注入实战

Spring介绍 Spring是一个轻量级的Java 开发框架&#xff0c;核心是IOC&#xff08;控制反转&#xff09;和AOP&#xff08;面向切面编程&#xff09; Spring解决了业务层&#xff08;Service包&#xff09;与其他各层&#xff08;表现层&#xff0c;包括Model&#xff0c;Vie…...

【安装笔记-20240616-Linux-为 OpenWrt 自动挂载 Windows 主机共享目录】

安装笔记-系列文章目录 安装笔记-20240616-Linux-为 OpenWrt 自动挂载 Windows 主机共享目录 文章目录 安装笔记-系列文章目录安装笔记-20240616-Linux-为 OpenWrt 自动挂载 Windows 主机共享目录 前言一、软件介绍名称&#xff1a;cifsutils主页官方介绍特点 二、安装步骤测试…...

61.WEB渗透测试-信息收集- WAF、框架组件识别(1)

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 内容参考于&#xff1a; 易锦网校会员专享课 上一个内容&#xff1a;60.WEB渗透测试-信息收集- 端口、目录扫描、源码泄露&#xff08;8&#xff09; WAF的识…...

qmt量化交易策略小白学习笔记第45期【qmt编程之期货行情数据--如何获取日线行情、tick行情】

qmt编程之获取期货行情数据 qmt更加详细的教程方法&#xff0c;会持续慢慢梳理。 也可找寻博主的历史文章&#xff0c;搜索关键词查看解决方案 &#xff01; 感谢关注&#xff0c;咨询免费开通量化回测与获取实盘权限&#xff0c;欢迎和博主联系&#xff01; 获取日线行情数…...

c#default 运算符

值类型默认值boolfalsebyte0char‘\0’decimal0.0Mdouble0.0Denum表达式 (E)0 产生的值&#xff0c;其中 E 为 enum 标识符。float0.0Fint0long0Lsbyte0short0struct将所有的值类型字段设置为默认值并将所有的引用类型字段设置为 null 时产生的值。uint0ulong0ushort0引用类型n…...

25计算机考研,这所985有机会!

吉林大学的计算机学科评估是A-&#xff0c;软件是B 实力还是很强的&#xff01; 考研的专科课代码分别是941和966 其实就是自命题&#xff0c;941是四合一&#xff1a;数据结构&#xff0c;计算机组成与设计&#xff0c;操作系统和计算机网络&#xff0c;这个和408统考的科目…...

SQL 基础入门教程

目录 什么是 SQL&#xff1f; SQL 的基本操作 数据库的创建和删除 表的创建和删除 数据的插入 数据的查询 数据的更新 数据的删除 SQL 的高级操作 表的连接 聚合函数 分组和排序 子查询 视图 索引 SQL 的数据完整性和约束 总结 SQL&#xff08;Structured Que…...

<Python><paddleocr>基于python使用百度paddleocr实现图片文字识别与替换

前言 本文是使用百度的开源库paddleocr来实现对图片文字的识别,准确度还不错,对图片文字的替换,则利用opencv来完成。 环境配置 系统:windows 平台:visual studio code 语言:python 库:paddleocr、opencv、pyqt5 依赖库安装 本例所需要的库可以直接用pip来安装。 安装…...

小程序开发的费用简介篇

小程序的价格跟很多因素有关系&#xff0c;比如你想要的复杂度、功能多不多等等 今天我就来具体说说开发一款APP&#xff0f;小程序到底需要多少 ❶功能复杂度&#xff1a;功能越多越复杂&#xff0c;开发时间和费用就越高&#xff0c;费用就会高 ❷设计要求&#xff1a;高级的…...

torch.unflod与torch.nn.functional.pad用法

PyTorch 中的两个函数:torch.unfold 和 torch.nn.unfold。它们分别用于不同的目的,让我们分别来理解一下: torch.nn.Unfold 类功能: 类似于函数 torch.unfold,torch.nn.Unfold 类也用于沿着指定维度滑动提取窗口并将每个窗口展平。与函数不同的是,torch.nn.Unfold 是一个…...

江苏 服务器性能监控包含哪些方面?

服务器的性能监控主要是为了确保服务器能够正常运行工作和性能优化的重要手段&#xff0c;接下来就来看一下服务器性能监控所包含的内容有哪些吧&#xff01; 首先对于服务器的系统资源进行一定的监控&#xff0c;CPU作为服务器的核心组件之一&#xff0c;所以我们要监控CPU的使…...

国防科技大学计算机基础课程笔记02信息编码

1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制&#xff0c;因此这个了16进制的数据既可以翻译成为这个机器码&#xff0c;也可以翻译成为这个国标码&#xff0c;所以这个时候很容易会出现这个歧义的情况&#xff1b; 因此&#xff0c;我们的这个国…...

练习(含atoi的模拟实现,自定义类型等练习)

一、结构体大小的计算及位段 &#xff08;结构体大小计算及位段 详解请看&#xff1a;自定义类型&#xff1a;结构体进阶-CSDN博客&#xff09; 1.在32位系统环境&#xff0c;编译选项为4字节对齐&#xff0c;那么sizeof(A)和sizeof(B)是多少&#xff1f; #pragma pack(4)st…...

基于服务器使用 apt 安装、配置 Nginx

&#x1f9fe; 一、查看可安装的 Nginx 版本 首先&#xff0c;你可以运行以下命令查看可用版本&#xff1a; apt-cache madison nginx-core输出示例&#xff1a; nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...

dedecms 织梦自定义表单留言增加ajax验证码功能

增加ajax功能模块&#xff0c;用户不点击提交按钮&#xff0c;只要输入框失去焦点&#xff0c;就会提前提示验证码是否正确。 一&#xff0c;模板上增加验证码 <input name"vdcode"id"vdcode" placeholder"请输入验证码" type"text&quo…...

现代密码学 | 椭圆曲线密码学—附py代码

Elliptic Curve Cryptography 椭圆曲线密码学&#xff08;ECC&#xff09;是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础&#xff0c;例如椭圆曲线数字签…...

BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践

6月5日&#xff0c;2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席&#xff0c;并作《智能体在安全领域的应用实践》主题演讲&#xff0c;分享了在智能体在安全领域的突破性实践。他指出&#xff0c;百度通过将安全能力…...

k8s业务程序联调工具-KtConnect

概述 原理 工具作用是建立了一个从本地到集群的单向VPN&#xff0c;根据VPN原理&#xff0c;打通两个内网必然需要借助一个公共中继节点&#xff0c;ktconnect工具巧妙的利用k8s原生的portforward能力&#xff0c;简化了建立连接的过程&#xff0c;apiserver间接起到了中继节…...

关键领域软件测试的突围之路:如何破解安全与效率的平衡难题

在数字化浪潮席卷全球的今天&#xff0c;软件系统已成为国家关键领域的核心战斗力。不同于普通商业软件&#xff0c;这些承载着国家安全使命的软件系统面临着前所未有的质量挑战——如何在确保绝对安全的前提下&#xff0c;实现高效测试与快速迭代&#xff1f;这一命题正考验着…...

Linux系统部署KES

1、安装准备 1.版本说明V008R006C009B0014 V008&#xff1a;是version产品的大版本。 R006&#xff1a;是release产品特性版本。 C009&#xff1a;是通用版 B0014&#xff1a;是build开发过程中的构建版本2.硬件要求 #安全版和企业版 内存&#xff1a;1GB 以上 硬盘&#xf…...

Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement

Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement 1. LAB环境2. L2公告策略2.1 部署Death Star2.2 访问服务2.3 部署L2公告策略2.4 服务宣告 3. 可视化 ARP 流量3.1 部署新服务3.2 准备可视化3.3 再次请求 4. 自动IPAM4.1 IPAM Pool4.2 …...