k8s里pod与宿主机的veth-pair匹配关系查找方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了k8s里pod与宿主机的veth-pair匹配关系查找方法相关的知识,希望对你有一定的参考价值。
参考技术A 现在有这样一个环境,两个网桥,一个是Linux内核网桥br1,另一个是ovs网桥 br-eth1,现在想把两个网桥连接起来,就可以用veth pair.顾名思义,veth-pair 就是一对的虚拟设备接口,和 tap/tun 设备不同的是,它都是成对出现的。一端连着协议栈,一端彼此相连着。如下图所示:
ip link
由下面的输出可知,此虚拟网卡对应外面的veth的ID为99.
tun:点对点的设备,tun设备模拟网络层设备,处理三层报文,如IP报文。tun设备完全不需要物理地址的。它收到和发出的包不需要arp,也不需要有数据链路层的头。
tap:是一个普通的以太网设备,tap设备模拟链路层设备,处理二层报文,比如以太网帧。tap设备需要有完整的物理地址和完整的以太网帧
TUN用于路由,而TAP用于创建网桥。
eth-pair 是成对出现的一种虚拟网络设备,一端连接着协议栈,一端连接着彼此,数据从一端出,从另一端进。
它的这个特性常常用来连接不同的虚拟网络组件,构建大规模的虚拟网络拓扑,比如连接 Linux Bridge、OVS、LXC 容器等。
pod install 错误:给定 podspec 'file_picker' 的名称与预期的 'gx_file_picker' 不匹配
【中文标题】pod install 错误:给定 podspec \'file_picker\' 的名称与预期的 \'gx_file_picker\' 不匹配【英文标题】:pod install error: The name of the given podspec 'file_picker' doesn't match the expected one 'gx_file_picker'pod install 错误:给定 podspec 'file_picker' 的名称与预期的 'gx_file_picker' 不匹配 【发布时间】:2021-07-08 07:24:48 【问题描述】:我在安装 pod 时遇到以下错误。
[!] The name of the given podspec 'file_picker' doesn't match the expected one 'gx_file_picker'
我尝试将“pubspec.yaml”中的文件名从 gx_file_picker 更改为 file_picker,但这似乎不起作用。进一步的研究也没有成效。
知道如何解决这个问题吗?
【问题讨论】:
【参考方案1】:我也遇到了同样的问题,我发现gx_file_picker/ios/gx_filepicker.podspec:
s.name = 'file_picker'
必须改为:
s.name = 'gx_file_picker'
更改后这样做不会造成任何伤害:
-
进入ios文件夹
删除 PodFile.lock 文件
rm -rf Pods
pod 缓存清理 --all
吊舱解体
吊舱设置
吊舱安装
现在我的项目中一切正常。
【讨论】:
运行 pod install 后文件返回到 file_picker 然后发生同样的错误 那就再改吧。 我这样做了很多次,但还是一样。 只是帮帮忙,找到这个目录“gx_file_picker/ios/gx_filepicker.podspec:”在finder中导航到您安装的Flutter SDK文件夹,确保您可以查看隐藏文件夹并导航到“flutter /.pub-cache/hosted/pub.dartlang.org/" 你会在那里找到目录。 @birukIS 您是否遵循了下面列出的其他步骤,包括清除 pod 缓存。我认为这就是问题所在。以上是关于k8s里pod与宿主机的veth-pair匹配关系查找方法的主要内容,如果未能解决你的问题,请参考以下文章