040.集群网络-CNI网络模型
一 CNM网络模型
1.1 网络模型
1.2 CNM模型

二 CNI模型
2.1 CNI模型

2.2 CNI规范概述
2.3 CNI Plugin插件详解
- Version:CNI版本号。
- ContainerID:容器ID。
- Network Namespace path:容器的网络命名空间路径,例如/proc/[pid]/ns/net。
- Network configuration:网络配置JSON文档,用于描述容器待加入的网络。
- Extra arguments:其他参数,提供基于容器的CNI插件简单配置机制。
- Name of the interface inside the container:容器内的网卡名,返回的信息如下:
- Interfaces list:网卡列表,根据Plugin的实现,可能包括Sandbox Interface名称、主机Interface名称、每个Interface的地址等信息。
- IPs assigned to the interface:IPv4或者IPv6地址、网关地址、路由信息等。
- DNS information:DNS相关的信息。
- Version:CNI版本号。
- ContainerID:容器ID。
- Network Namespace path:容器的网络命名空间路径,例如/proc/[pid]/ns/net。
- Network configuration:网络配置JSON文档,用于描述容器待加入的网络。
- Extra arguments:其他参数,提供基于容器的CNI插件简单配置机制。
- Name of the interface inside the container:容器内的网卡名。
- Version:CNI版本号。
- ContainerID:容器ID。
- Network Namespace path:容器的网络命名空间路径,例如/proc/[pid]/ns/net。
- Network configuration:网络配置JSON文档,用于描述容器待加入的网络。
- Extra arguments:其他参数,提供基于容器的CNI插件简单配置机制。
- Name of the interface inside the container:容器内的网卡名
2.4 IPAM Plugin插件详解
1 {
2 "cniVersion": "0.4.0",
3 "ips":[
4 {
5
6 "version": "<4-or-6>",
7 "address": "<ip-and-prefix-in-CIDR>",
8 "gateway": "<ip-address-of-the-gateway>" (optional)
9 },
10 ..........
11 ],
12 "routes":[
13 {
14 "dst": "<ip-and-prefix-in-cidr>",
15 "gw": "<ip-of-next-hop>"
16 },
17 ........
18 ]
19
20 "dns":{
21 "nameservers": <list-of-nameservers> (optional)
22 "domain": <name-of-local-domain> (optional)
23 "search": <list-of-options> (optional)
24 }
25 }
- ips段:分配给容器的IP地址(也可能包括网关)。
- routes段:路由规则记录。
- dns段:DNS相关的信息。
2.5 多网络插件
三 Kubernetes网络插件
3.1 Kubernetes网络插件
- --network-plugin-dir:kubelet启动时扫描网络插件的目录。
- --network-plugin:网络插件名称,对于CNI插件,设置为cni即可,无须关注--network-plugin-dir的路径。对于kubenet插件,设置为kubenet,目前仅实现了一个简单的cbr0 Linux网桥。
- --cni-conf-dir:CNI插件的配置文件目录,默认为/etc/cni/net.d。该目录下配置文件的内容需要符合CNI规范。
- --cni-bin-dir:CNI插件的可执行文件目录,默认为/opt/cni/bin。
040.集群网络-CNI网络模型的更多相关文章
- 036.集群网络-K8S网络模型及Linux基础网络
一 Kubernetes网络模型概述 1.1 Kubernetes网络模型 Kubernetes网络模型设计的一个基础原则是:每个Pod都拥有一个独立的IP地址,并假定所有Pod都在一个可以直接连通的 ...
- K8s 从懵圈到熟练 – 集群网络详解
作者 | 声东 阿里云售后技术专家 导读:阿里云 K8S 集群网络目前有两种方案:一种是 flannel 方案:另外一种是基于 calico 和弹性网卡 eni 的 terway 方案.Terway ...
- Kubernetes 从懵圈到熟练 – 集群网络详解(转)
阿里云K8S集群网络目前有两种方案,一种是flannel方案,另外一种是基于calico和弹性网卡eni的terway方案.Terway和flannel类似,不同的地方在于,terway支持Pod弹性 ...
- Hadoop配置第1节-集群网络配置
Hadoop-集群网络配置 总体目标:完成zookeeper+Hadoop+Hbase 整合平台搭建 进度:1:集群网络属性配置2:集群免密码登陆配置3:JDK的安装4:Zookeeper的安装5 ...
- Ceph集群网络切换
背景:需要对已部署好的Ceph集群切换网络,包含包含公共网络和集群网络 1 关闭所有mon节点的mon服务并修改服务器IP systemctl stop ceph-mon@storage01.serv ...
- 出现xxxtbox问题又有集群网络等问题时的解决
出现xxxtbox问题又有集群网络等问题时的解决 集群环境本身问题引发 重新rancher上删除集群,正常构建集群成功,环境就没问题,否则由于环境问题怎么找解决方案都有问题
- 042.集群网络-flannel及calico
一 Flannel组件 1.1 flannel介绍 Kubernetes的网络模型假定了所有Pod都在一个可以直接连通的扁平网络空间中.若需要实现这个网络假设,需要实现不同节点上的Docker容器之间 ...
- 037.集群网络-Docker网络实现
一 Docker网络 1.1 Docker网络类型 标准的Docker支持以下4类网络模式: host模式:使用--net=host指定. container模式:使用--net=container: ...
- 038.集群网络-K8S网络实现
一 Kubernetes网络实现 1.1 Kubernetes网络优势 在实际的业务场景中,业务组件之间的关系十分复杂,微服务的理念更是让应用部署的粒度更加细小和灵活.为了支持业务应用组件的通信,Ku ...
随机推荐
- linux安装swoole扩展
1.首先我们要安装swoole扩展的话,需要把它的包下载下来,下载地址是: https://github.com/swoole/swoole-src 2.下载下来之后进行解压: unzip swool ...
- R的基础数据结构
- SSM框架三分钟搞定分页查询
使用的国产第三方jar pagehelper 里面的基本属性值 //当前页 private int pageNum; //每页的数量 private int pageSize; //当前页的数量 ...
- Ionic3学习笔记(九)关于 Android 端软键盘弹出后界面被压缩的问题
本文为原创文章,转载请标明出处 今天做了一个如下图所示的页面. iOS 端毫无 bug,Android 端却出现了问题.当软键盘弹出后,Android 端的 tabs 移到了软键盘的上面,再仔细一看, ...
- Seata-一站式分布式事务解决方案
Fescar 2019 年 1 月,阿里巴巴中间件团队发起了开源项目 Fescar(Fast & EaSy Commit And Rollback),和社区一起共建开源分布式事务解决方案. F ...
- api安全规范
1. API签名的目的 校验API调用者的身份,是否有权访问 校验请求的数据完整性,防止被中间人篡改 防止重放攻击 2.基本概念 AccessKey: API使用者向API提供方申请的Ac ...
- VM安装Linux Centos7.0虚拟机
一.准备工作 1.安装VMware 官网https://www.vmware.com/cn.html 2.准备centos7的镜像文件 官网下载链接:http://isoredirect.centos ...
- SpringBoot入门系列(一)如何快速创建SpringBoot项目
这段时间也没什么事情,所以就重新学习整理了Spring Boot的相关内容.今天开始整理更新Spring Boot学习笔记,感兴趣的朋友可以关注我的博客:https://www.cnblogs.com ...
- Ribbon进行服务调用/负载均衡以及请求重试配置
Ribbon负载均衡 经过对Eureka的认识,及Eureka集群的搭建,已经基本可以入门Eureka的使用.之前对于服务调用者我们是直接获取注册列表后通过 get(0) 的方式来获取第一个注册信息. ...
- jdbc里一个最靠谱的连接demo
最靠谱的jdbc连接例子 包括增删改,查一条数据,查所有数据. Bean.java public class Bean { private String id; private String numb ...