目录

1. 测试资源

  • 测试主机

sh-saas-k8stest-node-dev-02 10.19.0.22

  • 同网段主机:

sh-saas-k8stest-master-dev-01 10.19.0.11

sh-saas-k8stest-master-dev-02 10.19.0.12

  • 子网网段:

10.19.16.0/20

10.19.0.0/20

  • 弹性网卡
网卡网卡类型IP
Primary ENI eni-jmdk5zda主网卡10.19.0.22 主IP
saas-k8stest-01 eni-e5l4vlhe辅助网卡10.19.16.17 主IP10.19.16.6 辅助IP10.19.16.9 辅助IP
saas-k8stest-02 eni-4vdxgc7g辅助网卡10.19.0.24 主IP10.19.0.17 辅助IP10.19.0.32 辅助IP

2. 测试环境准备

2.1 停止有影响的一些服务

systemctl status kubelet
systemctl status kube-proxy.service

2.2 清空ipvs和iptables的规则

ipvsadm -C 
iptables -F #(flush 清除所有的已定规则)
iptables -X #(delete 删除所有用户“自定义”的链(tables))
iptables -Z #(zero 将所有的chain的计数与流量统计都归零)
iptables -F  -t mangle
iptables -F  -t nat
iptables -X  -t mangle
iptables -X  -t nat

阅读全文

AWS VPC CNI路由分析

目录

amazon-vpc-cni-k8s是AWS基于VPC CNI的k8s网络插件,有着高性能及高度灵活的优点。项目地址: https://github.com/aws/amazon-vpc-cni-k8s

下面我们通过分析其源码,查看实际上相关的CNI网络是怎么实现的。

1. AWS VPC CNI Agent node部分

Node上的Agent程序与路由相关的,主要做2块工作,一个是配置主网卡(SetupHostNetwork),一个是配置辅助网卡(setupENINetwork)。

1.1 SetupHostNetwork

针对host网络和主网卡Primary ENI做一些配置,Primary ENI: 主机的默认网卡,默认一般为eth0。

  1. 如果启用ipv4和支持node port,设置RP Filter:
// 启用ConfigureRpFilter,设置net.ipv4.conf.{primaryIntf}.rp_filter为2
primaryIntfRPFilter := "net/ipv4/conf/" + primaryIntf + "/rp_filter"
echo 2 > primaryIntfRPFilter
  1. 设置Primary eni网卡的mtu:
ip link set dev <link> mtu MTU
  1. 先删除main表里优先级为1024的rule
// If this is a restart, cleanup previous rule first
ip rule del fwmark 0x80/0x80 pref 1024 table main

阅读全文

作者的图片

阿辉

容器技术及容器集群等分布式系统研究

容器平台负责人

上海