1 场景案例
为根据实际需要调整calico虚拟网卡MTU,需首先实现下列规则网卡信息(calic6dff1e5541)的过滤:
[root@node1 ansible]# ifconfig
calic6dff1e5541: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1480
1.1 步骤分解
确认规则
发现多个calico为POD建立的虚拟网卡名称前缀规则为cali… 后续总计11位数字小写字母。
完成行过滤,并取出第一段字符
通过grep过滤行,然后通过awk定位输出
[root@node1 app]# ifconfig | grep cali | awk -F : '{print $1}'
calic6dff1e5541
将过滤出的网卡名作为参数,传递给xargs
- -t 表示先打印命令,然后再执行。
- -I 用来将参数赋值给 {} ,然后在后续命令中用 {} 占位
[root@node1 app]# ifconfig | grep cali | awk -F : '{print $1}' | xargs -t -I '{}' ifconfig {} mtu 1440 up
最后,再结合ansible即可批量修改节点的mtu
附:比较多余的解法,但用到了grep 正则
其中