当前位置: 首页 > news >正文

大连网站设计选仟亿科技装修公司做网销的网站

大连网站设计选仟亿科技,装修公司做网销的网站,家装设计用什么软件做效果图,做民宿的网站1 CNI概述 1.1 什么是CNI#xff1f; Kubernetes 本身并没有实现自己的容器网络#xff0c;而是借助 CNI 标准#xff0c;通过插件化的方式来集成各种网络插件#xff0c;实现集群内部网络相互通信。 CNI#xff08;Container Network Interface#xff0c;容器网络的…1 CNI概述 1.1 什么是CNI Kubernetes 本身并没有实现自己的容器网络而是借助 CNI 标准通过插件化的方式来集成各种网络插件实现集群内部网络相互通信。 CNIContainer Network Interface容器网络的 API 接口是 Google 和 CoreOS 联合定制的网络标准它是在 RKT 网络提议的基础上发展起来的综合考虑了灵活性、扩展性、IP 分配、多网卡等因素。Kubernetes 网络的发展方向是希望通过 Plugin 的方式来集成不同的网络方案 CNI 就是这一努力的结果。 CNI 旨在为容器平台提供网络的标准化为解决容器网络连接和容器销毁时的资源释放提供了一套框架。所以 CNI 可以支持大量不同的网络模式并且容易实现。不同的容器平台e.g. Kubernetes、Mesos 和 RKT能够通过相同的接口调用不同的网络组件。 CNI容器网络接口是一个云原生计算基金会项目它包含了一些规范和库用于编写在 Linux 容器中配置网络接口的一系列插件。CNI 只关注容器的网络连接并在容器被删除时移除所分配的资源。 Kubernetes 使用 CNI 作为网络提供商和 Kubernetes Pod 网络之间的接口。 1.2 CNI 规范 CNI 规范的几点原则 CNI Plugin 负责连接容器Linux network namespace。CNI 的网络定义以 JSON 的格式存储。有关网络的配置通过 stdinLinux 标准输入的方式传递给 CNI Plugin其他的参数通过 ENV环境变量的方式传递。CNI 插件是以 exec可执行文件的方式实现的。 CNI 规范定义的核心接口 ADD将容器添加到网络DEL从网络中删除一个容器CHECK检查容器的网络是否符合预期等.... CNI 对象定义了两个组件包括 Container Management SystemNetwork PluginCNI 接收到的具体请求都是由 Plugin 来完成的例如创建容器网络空间network namespace、把网络接口interface放到对应的网络空间、给网络接口分配 IP 等。 1.3 CNI Plugin 在部署 Kubernetes 的时候有一个步骤是安装 kubernetes-cni 包它的目的就是在宿主机上安装 CNI 插件所需的基础可执行文件。这些可执行文件包括查看 /opt/cni/bin 目录可以看到 $ ls -al /opt/cni/bin/ total 73088 -rwxr-xr-x 1 root root 3890407 Aug 17 2017 bridge -rwxr-xr-x 1 root root 9921982 Aug 17 2017 dhcp -rwxr-xr-x 1 root root 2814104 Aug 17 2017 flannel -rwxr-xr-x 1 root root 2991965 Aug 17 2017 host-local -rwxr-xr-x 1 root root 3475802 Aug 17 2017 ipvlan -rwxr-xr-x 1 root root 3026388 Aug 17 2017 loopback -rwxr-xr-x 1 root root 3520724 Aug 17 2017 macvlan -rwxr-xr-x 1 root root 3470464 Aug 17 2017 portmap -rwxr-xr-x 1 root root 3877986 Aug 17 2017 ptp -rwxr-xr-x 1 root root 2605279 Aug 17 2017 sample -rwxr-xr-x 1 root root 2808402 Aug 17 2017 tuning -rwxr-xr-x 1 root root 3475750 Aug 17 2017 vlan 从 Network Plugin 实现的功能可以把 CNI Plugin 分为 5 类 Main 插件创建具体的网络设备。有以下类型 bridge网桥设备连接 Container 和 Hostipvlan为容器增加 ipvlan 网卡loopback回环设备macvlan为容器创建一个 MAC 地址ptp创建一对 Veth Pairvlan分配一个 vlan 设备host-device将已存在的设备移入容器内。IPAM 插件负责分配 IP 地址。有以下类型 dhcp容器向 DHCP 服务器发起请求给 Pod 发放或回收 IP 地址host-local使用预先配置的 IP 地址段来进行分配static为容器分配一个静态 IPv4/IPv6 地址主要用于 Debug 场景。META 插件其他功能的插件。有以下类型 tuning通过 sysctl 调整网络设备参数portmap通过 iptables 配置端口映射bandwidth使用 Token Bucket Filter 来限流sbr为网卡设置 source based routingfirewall通过 iptables 给容器网络的进出流量进行限制。Windows 插件专门用于 Windows 平台的 CNI 插件。  win-bridgewin-overlay 网络插件。第三方网络插件第三方开源的网络插件众多每个组件都有各自的优点及适应的场景难以形成统一的标准组件常用有 Flannel、Calico、Cilium、OVN 网络插件。 大部分的 CN I插件功能设计上遵守功能职责单一原则比如 Bridge 插件负责网桥的相关配置Firewall 插件负责防火墙相关配置Portmap 插件负责端口映射相关配置 1.4 CNI工作原理 CNI通过JSON格式的配置文件来描述网络配置当需要设置容器网络时由容器运行时负责执行CNI插件并通过CNI插件的标准输入stdin来传递配置文件信息通过标准输出stdout接收插件的执行结果。图中的 libcni 是CNI提供的一个go package封装了一些符合CNI规范的标准操作便于容器运行时和网络插件对接CNI标准。 案例假如需要调用bridge插件将容器接入到主机网桥则调用的命令如下 # CNI_COMMANDADD 顾名思义表示创建。 # XXXXXX 其他参数定义见下文。 #  config.json 表示从标准输入传递配置文件 CNI_COMMANDADD XXXXXX ./bridge  config.json 1.5 CNI 使用了哪些网络模型 CNI 网络插件使用封装网络模型例如 Virtual Extensible Lan缩写是 VXLAN或非封装网络模型例如 Border Gateway Protocol缩写是 BGP来实现网络结构。 1.5.1 什么是封装网络 此网络模型提供了一个逻辑二层L2网络该网络封装在跨 Kubernetes 集群节点的现有三层L3网络拓扑上。使用此模型可以为容器提供一个隔离的 L2 网络而无需分发路由。封装网络带来了少量的处理开销以及由于覆盖封装生成 IP header 造成的 IP 包大小增加。封装信息由 Kubernetes worker 之间的 UDP 端口分发交换如何访问 MAC 地址的网络控制平面信息。此类网络模型中常用的封装是 VXLAN、Internet 协议安全性 (IPSec) 和 IP-in-IP。简单来说封装网络模型在 Kubernetes worker 之间生成了一种扩展网桥其中连接了 pod。 如果用户偏向使用扩展 L2 网桥则可以选择此网络模型。此网络模型对 Kubernetes worker 的 L3 网络延迟很敏感。如果数据中心位于不同的地理位置请确保它们之间的延迟较低以避免最终的网络分段。 使用这种网络模型的 CNI 网络插件包括 Flannel、Canal、Weave 和 Cilium。默认情况下Calico 不会使用此模型但用户可以对其进行配置。 1.5.2 什么是非封装网络 该网络模型提供了一个 L3 网络用于在容器之间路由数据包。此模型不会生成隔离的 L2 网络也不会产生开销。这些好处的代价是Kubernetes worker 必须管理所需的所有路由分发。该网络模型不使用 IP header 进行封装而是使用 Kubernetes Worker 之间的网络协议来分发路由信息以实现 Pod 连接例如 BGP。 简而言之这种网络模型在 Kubernetes worker 之间生成了一种扩展网络路由器提供了如何连接 Pod 的信息。 如果用户偏向使用 L3 网络则可以选择此网络模型。此模型在操作系统级别为 Kubernetes Worker 动态更新路由。对延迟较不敏感。 使用这种网络模型的 CNI 网络插件包括 Calico 和 Cilium。Cilium 可以使用此模型进行配置即使这不是默认模式。 1.6 CNI社区插件 Kubernetes 它需要网络插件来提供集群内部和集群外部的网络通信。以下是一些常用的 k8s 网络插件 FlannelFlannel 是最常用的 k8s 网络插件之一它使用了虚拟网络技术来实现容器之间的通信支持多种网络后端如 VXLAN、UDP 和 Host-GW。CalicoCalico 是一种基于 BGP 的网络插件它使用路由表来路由容器之间的流量支持多种网络拓扑结构并提供了安全性和网络策略功能。CanalCanal 是一个组合了 Flannel 和 Calico 的网络插件它使用 Flannel 来提供容器之间的通信同时使用 Calico 来提供网络策略和安全性功能。Weave NetWeave Net 是一种轻量级的网络插件它使用虚拟网络技术来为容器提供 IP 地址并支持多种网络后端如 VXLAN、UDP 和 TCP/IP同时还提供了网络策略和安全性功能。CiliumCilium 是一种基于 eBPF (Extended Berkeley Packet Filter) 技术的网络插件它使用 Linux 内核的动态插件来提供网络功能如路由、负载均衡、安全性和网络策略等。ContivContiv 是一种基于 SDN 技术的网络插件它提供了多种网络功能如虚拟网络、网络隔离、负载均衡和安全策略等。AntreaAntrea 是一种基于 OVS (Open vSwitch) 技术的网络插件它提供了容器之间的通信、网络策略和安全性等功能还支持多种网络拓扑结构。 kube-routerkube-router是一个开源的CNI插件它结合了网络和服务代理功能。它支持BGP和IPIP协议并具有负载均衡的特性。 提供商项目StarsForksContributorsCanalGitHub - projectcalico/canal: Policy based networking for cloud native applications67910021FlannelGitHub - flannel-io/flannel: flannel is a network fabric for containers, designed for Kubernetes7k2.5k185CalicoGitHub - projectcalico/calico: Cloud native networking and network security3.1k741224WeaveGitHub - weaveworks/weave: Simple, resilient multi-host containers networking and more.6.2k63584CiliumGitHub - cilium/cilium: eBPF-based Networking, Security, and Observability10.6k1.3k352 1.7 第三方网络插件的功能 插件网络模型路线分发网络策略网络外部数据存储加密Ingress/Egress策略Canal封装 (VXLAN)否是否K8s API是是Flannel封装 (VXLAN)否否否K8s API是否Calico封装VXLANIPIP或未封装是是是Etcd 和 K8s API是是Weave封装是是是否是是Cilium封装 (VXLAN)是是是Etcd 和 K8s API是是 网络模型封装或未封装路由分发一种外部网关协议用于在互联网上交换路由和可达性信息。BGP 可以帮助进行跨集群 pod 之间的网络。此功能对于未封装的 CNI 网络插件是必须的并且通常由 BGP 完成。如果想构建跨网段拆分的集群路由分发是一个很好的功能。网络策略Kubernetes 提供了强制执行规则的功能这些规则决定了哪些 service 可以使用网络策略进行相互通信。这是从 Kubernetes 1.7 起稳定的功能可以与某些网络插件一起使用。网格允许在不同的 Kubernetes 集群间进行 service 之间的网络通信。外部数据存储具有此功能的 CNI 网络插件需要一个外部数据存储来存储数据。加密允许加密和安全的网络控制和数据平面。Ingress/Egress 策略允许你管理 Kubernetes 和非 Kubernetes 通信的路由控制。 1.8 第三方插件实现方式 CNI 第三方网络插件通常有 3 种实现模式 Overlay靠隧道打通不依赖底层网络 Underlay靠底层网络打通强依赖底层网络 路由靠路由打通部分依赖底层网络 1.9 CNI 使用的 I/O 接口虚拟化 根据 CNI 插件不同的实现方式也会使用到不同的 I/O 接口虚拟化技术。 Veth-Pair创建一个 Veth-Pair 对两端分别接入到 Host root namespaceLinux Bridge / Open vSwitch和 Container network namespace。Container 内发出的网络数据包通过 vSwitch 进入到 Host OS Kernel Network Stack。Multi-Plexing多路复用使用一个 MACVLAN / IPVLAN 中间网络设备虚拟出多个 Virtual NIC 接入到 Container根据 MAC/IP 地址来区分数据报文如何转发到具体的容器。Hardware switching硬件交换SR-IOV 内部实现了一个 Hardware Switch通过 VFs 的方式接入到每个 Pods。 2 k8s 支持哪些 CNI 插件 RKE 可选择的 CNI 插件集成包括Canal、Flannel、Calico 和 Weave 。RKE2 可以使用的是 Cillium、Calico、Canal 和 Multus。
http://www.hkea.cn/news/14334634/

相关文章:

  • 免费稳定网站空间小网站搜什么关键词好
  • 怎么做网站账号注册机长沙网络优化推广
  • 杭州网站开发建设广告公司名字后缀
  • 网站制作多少钱啊广西桂林为什么穷
  • 织梦网站代码优化的意思
  • 网站建设的案例教程视频北京建站公司做网站价格
  • 一键提交网站html5电商网页制作
  • 国外网站建设品牌青岛建设集团
  • logo设计网站在线58.搜房等网站怎么做效果才好
  • 网站收录登录入口忻州网站建设公司
  • 网站死链检测中国企业网官方网站
  • 学网站开发工作好找吗做儿童文学有哪些的网站
  • 网站页面布局的目的南阳做网站推广
  • 上海专业做网站公司有哪些广告公司寮步网站建设
  • vr网站建设企业宣传文案
  • 阳山做网站做众筹网站怎么赚钱
  • 辽宁省建设工程注册中心网站全网营销包括什么
  • 天津做网站价格新开传奇网站服
  • 加拿大28网站开发百度排行榜风云榜小说
  • 无锡网站建设 app中山cms建站
  • 抚顺市 网站建设网站源代码购买
  • 建站免费加盟全屏产品网站
  • 搭建网站原理六安人事考试网
  • 汕头新导网络公司seo关键词
  • aspcms三合一网站源码手机版网页
  • 萝岗公司网站建设邢台做wap网站
  • 大良购物网站建设网站开发一键上架淘宝
  • 网站开发设计手册深圳餐饮设计公司排名
  • 深圳市南山区住房和建设局官方网站做国外有那些网站比较好
  • 甘肃肃第八建设集团网站dede网站 index.php无法访问