背景
接上文 浙江电信 IPTV 单线复用
为啥我又开始折腾这个。。。主要看到大佬(土豪)分享的 ubnt 全家桶方案,其中 SSID 绑定 VLAN 这个可以显著提高安全性。
出于设备利旧(穷)的考虑,得折腾下RT_AC86U
。。。不搞懂原理是配不出来的。。。
AC86U 用的博通方案,配置各种水土不服。从之前图形配置还是很难理解这个网络怎么打通的。
参考大佬资料,固件里面也没有 robocfg
命令,配置 VLAN 需要使用 vlanctl
指令。
接上文 浙江电信 IPTV 单线复用
为啥我又开始折腾这个。。。主要看到大佬(土豪)分享的 ubnt 全家桶方案,其中 SSID 绑定 VLAN 这个可以显著提高安全性。
出于设备利旧(穷)的考虑,得折腾下RT_AC86U
。。。不搞懂原理是配不出来的。。。
AC86U 用的博通方案,配置各种水土不服。从之前图形配置还是很难理解这个网络怎么打通的。
参考大佬资料,固件里面也没有 robocfg
命令,配置 VLAN 需要使用 vlanctl
指令。
可靠性验证时,发现大约存在 1/2000 概率存在 节点 NotReady ,并且不可自愈问题
kubelet 报 use of closed network connection
现象
use of closed network connection
初步定位像连接复用没有释放
一顿搜索,关联到社区 issue https://github.com/kubernetes/kubernetes/issues/87615
看起来就是 golang 的对 h2 处理的 bug
修复也简单,手动重启 kubelet 即可恢复
主要担心其他服务用 client-go 的,可能也有问题,连不上不自愈,但是静默了
DISABLE_HTTP2=true
, 关闭 http2一番定位后,找到在 golang.org/x/net/http2/transport.go
里,下面位置是错误返回的地方
1 | upgradeFn := func(authority string, c *tls.Conn) http.RoundTripper { |
通过调试,发现此处一旦发生该错误,就无法正常工作了,由此也就有了下面修改代码
一旦一个 RoundTripper 反复失败,就退出进程
1 | type exitedRoundTripper struct{ |
linux
1 | mkdir -p ~/.pip |
windows
1 | mkdir -p ~/pip |
SR-IOV是一种基于硬件的虚拟化方案。用来使一个PCIe的物理设备,能虚拟出多个设备。
SR-IOV 中的两种新功能类型是:
物理功能 (Physical Function, PF)
包括管理SR-IOV功能在内的所有PCIe function
虚拟功能 (Virtual Function, VF)
VF 是一种轻量级 PCIe 功能,VF 仅允许拥有用于其自身行为的配置资源。
每个 SR-IOV 设备都可有一个物理功能 (Physical Function, PF),并且每个 PF 最多可有 64,000 个与其关联的虚拟功能 (Virtual Function, VF)。PF 可以通过寄存器创建 VF,这些寄存器设计有专用于此目的的属性。
一旦在 PF 中启用了 SR-IOV,就可以通过 PF 的总线、设备和功能编号(路由 ID)访问各个 VF 的 PCI 配置空间。每个 VF 都具有一个 PCI 内存空间,用于映射其寄存器集。VF 设备驱动程序对寄存器集进行操作以启用其功能,并且显示为实际存在的 PCI 设备。创建 VF 后,可以直接将其指定给 IO 来宾域或各个应用程序(如裸机平台上的 Oracle Solaris Zones)。此功能使得虚拟功能可以共享物理设备,并在没有 CPU 和虚拟机管理程序软件开销的情况下执行 I/O。