cali1e4a9cee8dc这是什么东西?
//我们查下k8s node节点,发现很多类似 cali7c620a7a67b 这样的类似网络设备的东西。
//这些是什么呢?
//k8s集群节点ht10,node网络情况。
[root@ht10 calico]# ifconfig
cali1e4a9cee8dc: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
ether ee:ee:ee:ee:ee:ee txqueuelen 0 (Ethernet)
RX packets 495759 bytes 283173556 (270.0 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 495759 bytes 283173556 (270.0 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
//这个就是对应 [root@ht10 calico]# ip a 命令结果里面的网卡编号77 cali23eb546861c: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
ether ee:ee:ee:ee:ee:ee txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 cali72e0f3b6f9b: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
ether ee:ee:ee:ee:ee:ee txqueuelen 0 (Ethernet)
RX packets 33001 bytes 1980958 (1.8 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 11 bytes 1421 (1.3 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 caliaa64c1a7f09: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
ether ee:ee:ee:ee:ee:ee txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 calica7f2079b57: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
ether ee:ee:ee:ee:ee:ee txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 docker0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 172.17.0.1 netmask 255.255.0.0 broadcast 172.17.255.255
ether 02:42:83:9e:06:86 txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 ens192: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.129.51.204 netmask 255.255.255.0 broadcast 10.129.51.255
ether 06:34:a0:00:0b:81 txqueuelen 1000 (Ethernet)
RX packets 215955 bytes 65222322 (62.2 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 110081 bytes 77325192 (73.7 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 ens224: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.129.53.204 netmask 255.255.255.0 broadcast 10.129.53.255
ether 06:0f:2e:00:0d:03 txqueuelen 1000 (Ethernet)
RX packets 33001 bytes 1980958 (1.8 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 11 bytes 1421 (1.3 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
loop txqueuelen 1000 (Local Loopback)
RX packets 495759 bytes 283173556 (270.0 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 495759 bytes 283173556 (270.0 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
没有安装成k8s节点的普通机器上采样应该就是,去掉calico,docker,那么ifconfig结果如下
[root@普通机器 ~]# ifconfig
eth1 Link encap:Ethernet HWaddr 00:50:56:A2:78:01
inet addr:10.129.55.19 Bcast:10.129.55.255 Mask:255.255.255.0
inet6 addr: fe80::250:56ff:fea2:7801/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2197601980 errors:0 dropped:0 overruns:0 frame:0
TX packets:1940531676 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:848519208193 (790.2 GiB) TX bytes:815714904879 (759.6 GiB) lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:46657 errors:0 dropped:0 overruns:0 frame:0
TX packets:46657 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2622944 (2.5 MiB) TX bytes:2622944 (2.5 MiB) tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:10.8.0.1 P-t-P:10.8.0.2 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:52063234 errors:0 dropped:0 overruns:0 frame:0
TX packets:56440262 errors:0 dropped:747 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:3556025519 (3.3 GiB) TX bytes:14467954568 (13.4 GiB)
//这个tun0可有可无。
我们分析如下:
1、centos7的网卡命名已经变成了 ens* 类似的, 不再是centos6的 eth* 这样的方式
我们的服务器基本都是eth0,eth1,ens* 这种形式的。 当然有的机器可能有网卡信息,但是对应配置文件没有情况也非常常见。
2、ens192和ens224是两个网卡,即该机器有两个实际网卡
3、tunl0,百度一下可以看到是ipip隧道, 就是calico利用tunl0来进行通讯,同时安装calico的时候分配ip.
[root@ht22 k8snode]# modinfo ipip
filename: /lib/modules/3.10.0-1160.45.1.el7.x86_64/kernel/net/ipv4/ipip.ko.xz
alias: netdev-tunl0
alias: rtnl-link-ipip
license: GPL
retpoline: Y
rhelversion: 7.9
srcversion: 8032CC3EDB2F63D42025A07
depends: ip_tunnel,tunnel4
intree: Y
vermagic: 3.10.0-1160.45.1.el7.x86_64 SMP mod_unload modversions
signer: CentOS Linux kernel signing key
sig_key: F5:EF:E0:5F:FF:E7:34:59:FB:55:F6:1B:3A:BD:2F:18:1F:8E:51:A0
sig_hashalgo: sha256
parm: log_ecn_error:Log packets received with corrupted ECN (bool)
4、lo 本地回环接口(网络接口,注意区别loop 叫回环设备),这个是针对网络通讯而言
5、docker0,在docker安装之后,就会产生一个docker0的虚拟网桥
ip a 方式查看网卡编号
[root@ht10 calico]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 06:34:a0:00:0b:81 brd ff:ff:ff:ff:ff:ff
inet 10.129.51.204/24 brd 10.129.51.255 scope global ens192
valid_lft forever preferred_lft forever
3: ens224: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 06:0f:2e:00:0d:03 brd ff:ff:ff:ff:ff:ff
inet 10.129.53.204/24 brd 10.129.53.255 scope global noprefixroute ens224
valid_lft forever preferred_lft forever
4: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
link/ether 02:42:83:9e:06:86 brd ff:ff:ff:ff:ff:ff
inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
valid_lft forever preferred_lft forever
71: cali23eb546861c@if4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
link/ether ee:ee:ee:ee:ee:ee brd ff:ff:ff:ff:ff:ff link-netnsid 3
75: tunl0@NONE: <NOARP> mtu 1480 qdisc noqueue state DOWN group default qlen 1000
link/ipip 0.0.0.0 brd 0.0.0.0
76: calica7f2079b57@if4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
link/ether ee:ee:ee:ee:ee:ee brd ff:ff:ff:ff:ff:ff link-netnsid 0
77: cali1e4a9cee8dc@if4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
link/ether ee:ee:ee:ee:ee:ee brd ff:ff:ff:ff:ff:ff link-netnsid 1
78: caliaa64c1a7f09@if4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
link/ether ee:ee:ee:ee:ee:ee brd ff:ff:ff:ff:ff:ff link-netnsid 2
79: cali72e0f3b6f9b@if4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
link/ether ee:ee:ee:ee:ee:ee brd ff:ff:ff:ff:ff:ff link-netnsid 4
注意: link-netnsid 为跨网络接口设置对等网络标识
单独看下这个设备,对于这个设备来说,这其实是一个veth peer:
[root@ht5 calico]# ip -d link show dev cali7c620a7a67b
119: cali7c620a7a67b@if4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default
link/ether ee:ee:ee:ee:ee:ee brd ff:ff:ff:ff:ff:ff link-netnsid 3 promiscuity 0
veth addrgenmode eui64 numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535
我们看到最后一行有veth字样,代表这是一个veth设备,对这个@if4来说,这表示 link’s peer 端对端端口的索引。尽管这个属性似乎对任何接口都可用,但它只适用于几种接口类型:veth、macvlan、vlan(子接口),表示和另一个接口的关系。
我们下面做个实验,看下pod对应的宿主机的网卡是什么,宿主机上创建容器(pod里的)对应网卡是什么?
pod是通过master或dashborad等创建的。
1、master上执行操作
[root@master-38 ~]# kubectl get pods -n cc -o wide
NAME READY STATUS RESTARTS AGE IP NODE
mdp-cc-85fd974f8c-j2q8v 1/1 Running 0 3h 172.17.76.28 ht10 //没有加命名空间,所以出错
[root@master-38 ~]# kubectl exec mdp-cc-85fd974f8c-j2q8v -it -- /bin/bash
Error from server (NotFound): pods " p-cc-85fd974f8c-j2q8v" not found
//加上命名空间,进入pod
[root@master-38 ~]# kubectl exec mdp-cc-85fd974f8c-j2q8v -it -n cc -- /bin/bash
root@mdp-cc-85fd974f8c-j2q8v:/# ip a //进入pod里面
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: tunl0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN group default qlen 1000
link/ipip 0.0.0.0 brd 0.0.0.0
4: eth0@if77: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
link/ether 0e:62:0d:13:27:03 brd ff:ff:ff:ff:ff:ff
inet 172.17.76.28/32 scope global eth0
valid_lft forever preferred_lft forever
//注意77就是宿主机网卡设备的编号
2、现在我们登录宿主机ht10这台机器。
[root@ht10 net.d]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 06:34:a0:00:0b:81 brd ff:ff:ff:ff:ff:ff
inet 10.129.51.204/24 brd 10.129.51.255 scope global ens192
valid_lft forever preferred_lft forever
3: ens224: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 06:0f:2e:00:0d:03 brd ff:ff:ff:ff:ff:ff
inet 10.129.53.204/24 brd 10.129.53.255 scope global noprefixroute ens224
valid_lft forever preferred_lft forever
4: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
link/ether 02:42:83:9e:06:86 brd ff:ff:ff:ff:ff:ff
inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
valid_lft forever preferred_lft forever
71: cali23eb546861c@if4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
link/ether ee:ee:ee:ee:ee:ee brd ff:ff:ff:ff:ff:ff link-netnsid 3
75: tunl0@NONE: <NOARP> mtu 1480 qdisc noqueue state DOWN group default qlen 1000
link/ipip 0.0.0.0 brd 0.0.0.0
76: calica7f2079b57@if4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
link/ether ee:ee:ee:ee:ee:ee brd ff:ff:ff:ff:ff:ff link-netnsid 0
77: cali1e4a9cee8dc@if4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
link/ether ee:ee:ee:ee:ee:ee brd ff:ff:ff:ff:ff:ff link-netnsid 1
//pod这个就是对应的网络设备 link-netnsid 1:所在网络命名空间的id为1,也就是对端在netnsid为1的网络命名空间里
78: caliaa64c1a7f09@if4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
link/ether ee:ee:ee:ee:ee:ee brd ff:ff:ff:ff:ff:ff link-netnsid 2
79: cali72e0f3b6f9b@if4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
link/ether ee:ee:ee:ee:ee:ee brd ff:ff:ff:ff:ff:ff link-netnsid 4 //执行ip a 或者ip addr 命令之后,经过前面有编号的,就不是很乱了,cali7c620a7a67b
//link-netnsid 为跨网络接口设置对等网络标识
3、docker容器和网卡的对应关系:
[root@ht10 net.d]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
22da71747c54 registry.aaa.com.cn/cc/test/mdp-cc "java -jar /mdp-cc…" 18 minutes ago Up 18 minutes
容器 id 是 22da71747c54,进入容器
[root@ht10 net.d]# docker exec -it 22da71747c54 /bin/bash
root@mdp-cc-85fd974f8c-j2q8v:/# cat /sys/class/net/eth0/iflink //容器内输入命令查看
77
这里我们看到是77。
cali1e4a9cee8dc这是什么东西?的更多相关文章
- 多线程爬坑之路-学习多线程需要来了解哪些东西?(concurrent并发包的数据结构和线程池,Locks锁,Atomic原子类)
前言:刚学习了一段机器学习,最近需要重构一个java项目,又赶过来看java.大多是线程代码,没办法,那时候总觉得多线程是个很难的部分很少用到,所以一直没下决定去啃,那些年留下的坑,总是得自己跳进去填 ...
- iOS有关横向TableView的东西
之前看到Apple store里面有横向的tableview,当然也有可能是collectionview啦. 尤其是项目中只有一条那么需要横向滑动的东西,就没有必要使用庞大的collectionvie ...
- 使用ENode框架前您需要了解的东西(初稿)
选择ENode意味着什么可能很多人还不太清楚.我简单整理了一下: 意味着你选择了:你需要做DDD领域建模.选择了事件驱动的架构.选择了CQRS架构.选择了最终一致性.选择了事件溯源.选择了分布式.这些 ...
- 如何写出高质量的技术博客 这边文章出自http://www.jianshu.com/p/ae9ab21a5730 觉得不错直接拿过来了 好东西要大家分享嘛
如何写出高质量的技术博客?答案是:如果你想,就一定能写出高质量的技术博客.看起来很唯心,但这就是事实.有足够愿力去做一件目标明确,有良好反馈系统的事情往往很简单.就是不停地训练,慢慢地,你自己 ...
- Intellij IDEA的一些东西
Intellij IDEA的一些东西 2016-03-19 15:26 Ctrl + R 在当前文件进行文本替换 (必备) Ctrl + N 根据输入的 类名 查找类文件 Ctrl + Ctrl + ...
- 神奇的BFC以及被忽略的东西
BFC是CSS中一个非常重要的概念,经常用来清除浮动以及处理外边距折叠,但BFC到底是个什么东西却很难准确的表达清楚,国内的相关技术文档基本都不全面,本文的目的就是对BFC的方方面面做个整理,当然未必 ...
- 关于这个博客以及C++入门该懂的一些东西
给三牧中学c++入门的同学们看的博客. 大概是入门一类的?说不定会写点自己的结题报告. 写的不好/写错了别怪我,蒟蒻瑟瑟发抖. 天哪要开始写入门了我好慌那么接下来是编译器连接. (本蒟蒻喜欢用DEV ...
- LabVIEW 吸星大法 - 看见的好东西都是我的(上篇)
前言 写了多年的LabVIEW程序,你是否面临这样的问题 总是在做一些重复的工作,感觉很没有意思: 总在不停的写代码,做类似的控件,实现相同的功能,丝毫没有成就感: 总在天加班,没有时间去提高自己; ...
- 前端er是否忽略了某些东西?——读《ppk谈JavaScript》
关于书 “不知道ppk的网站QuirksMode,说明你可能还没有真正成为资深的JavaScript程序员.” ——Roger Johansson,瑞典资深Web专家. ppk是世界级前端技术专家,W ...
随机推荐
- k8s集群Job负载 支持多个 Pod 可靠的并发执行,如何权衡利弊选择适合的并行计算模式?
k8s的Job负载 支持多个 Pod 可靠的并发执行,如何权衡利弊选择适合的并行计算模式? 简单聊聊你对工作负载Job的理解? Job 支持多个 Pod 可靠的并发执行,如何权衡利弊选择适合的并行计算 ...
- 2.4 C++STL deque容器详解
文章目录 2.4.1 引入 2.4.2 代码示例 2.4.3 代码运行结果 2.4.4 具体案例 总结 2.4.1 引入 deque容器类比vector容器来学习. deque为双向开口容器,见下图. ...
- Spring——自动装配的三种实现方式
依赖注入的本质是装配,装配是依赖注入的具体行为 spring会在上下文中自动寻找,并自动给bean装配属性 自动装配的三种方式 (1).在xml中显式的装配 (2).在java中显式的装配 (3).隐 ...
- futter环境安装
镜像下载.域名解析.时间同步请点击 阿里巴巴开源镜像站 Flutter是谷歌开发的一款开源.免费的基于Dart语言的UI框架,可以快速在IOS和Android上构建高质量的原生应用.它的最大的特点是跨 ...
- 22.2.14session和反反爬处理
22.2.14 session和反反爬处理 1.session: requests库包含session,都是用来对一个url发送请求,区别在于session是一连串的请求,在session请求过程中c ...
- 22.1.23Manacher算法、双端队列、单调栈
22.1.23Manacher算法.双端队列.单调栈 1.Manacher算法 1)用途: Manacher算法用于解决类似求某个字符串中最长的回文子串.(回文就是正着读和倒着读一样的结构). 2)算 ...
- 转-MySQL 数据库误删除后的数据恢复操作说明
在日常运维工作中,对于mysql数据库的备份是至关重要的!数据库对于网站的重要性使得我们对mysql数据的管理不容有失!然后,是人总难免会犯错误,说不定哪天大脑短路了来个误操作把数据库给删除了,怎么办 ...
- python 列表list-增删改查操作
初始化: a. data_list1 = [] b. data_list2 = [a,b,c] c. data_list = list() 新增: a. data_list1.ap ...
- Java并发机制(9)--Callable、Future、FutureTask的使用
Java并发编程:Callable.Future.FutureTask的使用 整理自:博客园-海子-http://www.cnblogs.com/dolphin0520/p/3949310.html ...
- 三、MyCat主要配置介绍
一.配置文件 1.server.xml Mycat的配置文件,设置账号.参数等2.schema.xml Mycat对应的物理数据库和数据库表的配置3.rule.xml Mycat分片(分库分表)规则 ...