CN118200143A - 基于sdn技术的容器云平台网络通信管理方法及*** - Google Patents
基于sdn技术的容器云平台网络通信管理方法及*** Download PDFInfo
- Publication number
- CN118200143A CN118200143A CN202410599531.0A CN202410599531A CN118200143A CN 118200143 A CN118200143 A CN 118200143A CN 202410599531 A CN202410599531 A CN 202410599531A CN 118200143 A CN118200143 A CN 118200143A
- Authority
- CN
- China
- Prior art keywords
- ovn
- network
- module
- component
- ovs
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000007726 management method Methods 0.000 title claims abstract description 40
- 238000005516 engineering process Methods 0.000 title claims abstract description 28
- 238000004891 communication Methods 0.000 title claims abstract description 25
- 238000012544 monitoring process Methods 0.000 claims abstract description 33
- 238000000034 method Methods 0.000 claims abstract description 12
- 238000012423 maintenance Methods 0.000 claims description 22
- 230000006870 function Effects 0.000 claims description 18
- 238000012545 processing Methods 0.000 claims description 5
- 230000008859 change Effects 0.000 claims description 4
- 210000001503 joint Anatomy 0.000 claims description 3
- 238000013507 mapping Methods 0.000 claims description 3
- 238000002955 isolation Methods 0.000 abstract description 4
- 239000000306 component Substances 0.000 description 93
- 239000003795 chemical substances by application Substances 0.000 description 12
- 238000010586 diagram Methods 0.000 description 5
- 238000011156 evaluation Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- BKCJZNIZRWYHBN-UHFFFAOYSA-N Isophosphamide mustard Chemical group ClCCNP(=O)(O)NCCCl BKCJZNIZRWYHBN-UHFFFAOYSA-N 0.000 description 1
- RJKFOVLPORLFTN-LEKSSAKUSA-N Progesterone Chemical compound C1CC2=CC(=O)CC[C@]2(C)[C@@H]2[C@@H]1[C@@H]1CC[C@H](C(=O)C)[C@@]1(C)CC2 RJKFOVLPORLFTN-LEKSSAKUSA-N 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种基于SDN技术的容器云平台网络通信管理方法及***,方法包括:OVN/OVS模块采用其北向接口创建和调整虚拟网络,将其中的网络概念映射至多个在Master节点的Kubernetes模块之内;核心控制器和Agent模块作为与多个在Master节点的Kubernetes模块之间的桥梁,将网络概念进行转换以实现网络动态调控;监控、诊断和运维操作并进行外部对接。本发明通过集成虚拟化和容器技术,能够实现对网络资源的更加精细化的管理;同时提供一个灵活的、可以有效利用资源并优化调度的监控平台,以实现支持多租户环境同时应用网络资源的更好的相互隔离和安全性。
Description
技术领域
本发明属于通信管理技术领域,具体涉及一种基于SDN技术的容器云平台网络通信管理方法及***。
背景技术
云计算是一种将云端物理资源以虚拟资源池的方 式供租户使用的模式,在云计算模式下可以通过网络 实现租户的资源按需分配与获取。其具有的高可用 性、弹性伸缩、便宜性和部署灵活等特点,能在提高 人们工作效率的同时,在各个行业带创新。传统设计定义的云平台,要么对应用和开发人员不够友好,灵活度难以把握;要么因为组件繁多,实现自动化运维有诸多困难,而且中小企业及学校难以实施。但是伴随信息化建设的推进,IDC及数据中心的服务器集群变得庞大复杂,传统IDC命令行或手写脚本的管理模式已经无法适应变化,存在运维效率低、开发部署环境同步难等问题。而容器技术的出现很 好地解决了这些问题,为云计算和运维体系带来新的机遇。现有技术围绕着容器技术已经形成了完善的Docker生态圈,提供了如消息中间件、日志、管理调度等工具集。Docker对互联网行业的价值也从节省资源这方面扩展到对整个软件开发运维生命周期的改造。
在运维体系早期,人们更侧重对网络和硬件等设备的管理,那时是通过各种手 工方式对网络进行管理,使网络能正常高效地运行。早期,运维***关注对象是底 层的基础网络设备,对网络中的底层设备进行自动或人为的监控,而如今整个互联 网环境愈发复杂多变,人们的关注点已从对硬件本身的监控转移到应用服务上,但是传统云平台构建的运维***存在几大难题:硬件设备和业务种类繁多,各类应用服务的信息分散在KVM上,使用KVM管理工具只能看到整个虚拟机的情况,对内部服务状况无法感知,更缺乏对多服务虚拟机的整体把控;对关键业务***的运行健康程度缺乏评估和预警措施,只能监控,问题并没有提前的预判和之后的自动修复机制。最后就是核心的IDC机房分布在多个地点,设备环境异常繁杂,对于大批量网络设备与服务器主机很难有一个统一的监控平台。
发明内容
本发明针对上述缺陷,提供一种基于SDN技术的容器云平台网络通信管理方法及***。本发明通过集成虚拟化和容器技术,能够实现对网络资源的更加精细化的管理;同时提供一个灵活的、可以有效利用资源并优化调度的监控平台,以实现支持多租户环境同时应用网络资源的更好的相互隔离和安全性。
本发明提供如下技术方案:基于SDN技术的容器云平台网络通信管理方法,包括以下步骤:
1)、OVN/OVS模块采用其北向接口创建和调整虚拟网络,将其中的网络概念映射至多个在Master节点的Kubernetes模块之内;
2)、核心控制器和Agent模块作为OVN/OVS模块与多个在Master节点的Kubernetes模块之间的桥梁,将网络概念进行转换以实现网络动态调控;
3)、监控、诊断和运维操作并进行外部对接。
优选地,所述1)步骤包括以下步骤:
1.1)、所述Kubernetes模块内的ovn-central运行模块运行OVN管理平面组件;
1.2)、多个ovn-central通过Raft协议同步数据保证多租户环境下数据可用。
优选地,所述OVN管理平面组件包括ovn-nb db组件模块、ovn-sb db组件模块和ovn-northd组件模块;
所述ovn-nb组件模块,用于保存虚拟网络配置,并提供API进行虚拟网络管理;
所述ovn-sb db组件模块,用于保存从ovn-nb db的逻辑网络生成的逻辑流表,以及各个节点的实际物理网络状态;
所述ovn-northd组件模块,用于将ovn-nb db的虚拟网络翻译成ovn-sb db中的逻辑流表。
优选地,所述OVN/OVS模块以DaemonSet形式运行在每个节点,在多个Pod内运行openswitch组件模块、ovsdb组件模块和ovn-controller组件模块;所述openswitch组件模块、所述ovsdb组件模块和所述ovn-controller组件模块为ovn-central Deployment的Agent将逻辑流表翻译成真实的网络配置。
优选地,所述2)步骤包括以下步骤:
2.01)、所述核心控制器和Agent模块通过kube-ovn-cni组件模块实现每个Master节点与相应的Worker节点的CNI接口通信连接,并操作本地的OVS配置单机网络;
2.02)、所述核心控制器和Agent模块再通过kube-ovn-controller组件模块监听所有和网络功能相关的资源事件,并根据资源变化情况更新所述OVN/OVS组件模块的逻辑网络。
优选地,所述监听的资源包括多个Pod信息、Service信息、Endpoint信息、Node信息、NetworkPolicy信息、VPC信息、Subnet信息、Vlan信息以及ProviderNetwork。
优选地,所述kube-ovn-cni组件模块在2)步骤中还配置具体的网络执行相应流量操作,包括以下步骤:
2.11)、配置所述kube-ovn-controller组件模块和vswitchd组件模块;
2.12)、处理CNI add/del请求,创建删除veth端口并和OVN/OVS组件模块的OVS端口绑定;
2.13)、配置OVS端口信息;
2.14)、更新宿主机的iptables规则、ipset规则或route规则;
2.15)、动态更新容器网络QoS;
2.16)、创建并配置ovn0网卡联通容器网络和主机网络;
2.17)、配置主机网卡来实现Vlan功能、Underlay功能或EIP功能;
2.18)、配置动态集群互联网关。
优选地,所述3)步骤包括以下步骤:
3.1)、在特定标签节点上对外发布容器网络的路由,使得外部直接通过多个IP访问POD;
3.2)、在每个节点上收集OVN/OVS组件模块的运行信息、节点网络质量或网络延迟信息作为监控指标
3.3)、在每个节点上收集OVN/OVS组件模块中OVN组件模块的运行信息作为监控指标;
3.4)、运行运维操作。
本发明还提供一种采用如上所述方法的基于SDN技术的容器云平台网络通信管理***,包括OVN/OVS组件模块、核心控制器和Agent模块和监控及运维扩展组件模块;
所述OVN/OVS组件模块,用于采用其北向接口创建和调整虚拟网络,将其中的网络概念映射至多个在Master节点的Kubernetes模块之内;
所述核心控制器和Agent模块,用于作为OVN/OVS模块与多个在Master节点的Kubernetes模块之间的桥梁,将网络概念进行转换以实现网络动态调控;
所述监控及运维扩展组件模块,用于监控、诊断和运维操作并进行外部对接。
优选地,所述监控及运维扩展组件模块包括kube-ovn-speaker组件模块、kube-ovn-pinger组件模块、kube-ovn-monitor组件模块和kubectl-ko组件模块;
所述kube-ovn-speaker组件模块,用于在特定标签节点上运行,然后对外发布容器网络的路由,使得外部直接通过多个IP访问POD;
所述kube-ovn-pinger组件模块,用于在每个节点上收集OVN/OVS组件模块中OVS组件模块的运行信息、节点网络质量或网络延迟信息作为监控指标;
所述kube-ovn-monitor组件模块,用于在每个节点上收集OVN/OVS组件模块中OVN组件模块的运行信息作为监控指标;
所述kubectl-ko组件模块,用于运行运维操作。
本发明的有益效果为:
1、本发明提供的方法及***通过集成的解决方案减少管理开销,提高资源复用率,可以有效提高管理效率和成本效益,。
2、本发明提供的方法及***可以增强网络安全和隔离,在多租户环境中提供更好的安全性和隔离效果。
3、本发明提供的方法及***结合公有云和私有云的优势,可以提供灵活的云计算集成,进而提供灵活的云服务。
附图说明
在下文中将基于实施例并参考附图来对本发明进行更详细的描述。其中:
图1为本发明提供的基于SDN技术的容器云平台网络通信管理方法流程示意图;
图2为本发明提供的基于SDN技术的容器云平台网络通信管理***结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,为本发明提供的一种基于SDN技术的容器云平台网络通信管理方法,包括以下步骤:
1)、OVN/OVS模块采用其北向接口创建和调整虚拟网络,将其中的网络概念映射至多个在Master节点的Kubernetes模块之内;
2)、核心控制器和Agent模块作为OVN/OVS模块与多个在Master节点的Kubernetes模块之间的桥梁,将网络概念进行转换以实现网络动态调控;
3)、监控、诊断和运维操作并进行外部对接,以实现对核心网络能能力进行扩展,并简化日常运维操作。
作为本发明的一个优选实施例,1)步骤包括以下步骤:
1.1)、Kubernetes模块内的ovn-central运行模块运行OVN管理平面组件;Kubernetes是Google开源的容器集群管理***,它基于docker技术,提供资源调度、部署运行、服务发现、缩扩容等一整套功能,本质上可看做是基于容器技术的Micro-PaaS平台,即第三代Paa S的代表性项目;
1.2)、多个ovn-central通过Raft协议同步数据保证多租户环境下数据可用。
进一步的,OVN管理平面组件包括ovn-nb db组件模块、ovn-sb db组件模块和ovn-northd组件模块;
ovn-nb db组件模块,用于保存虚拟网络配置,并提供API进行虚拟网络管理;kube-ovn-controller将会主要和ovn-nb db组件模块进行交互配置虚拟网络;
ovn-sb db组件模块,用于保存从ovn-nb db组件模块的逻辑网络生成的逻辑流标,以及各个节点的实际物理网络状态;
ovn-northd组件模块,用于将ovn-nb db的虚拟网络翻译成ovn-sb db中的逻辑流表。
作为本发明的另一个优选实施例,OVN/OVS模块以DaemonSet形式运行在每个节点,在多个Pod内运行openswitch组件模块、ovsdb组件模块和ovn-controller组件模块;openswitch组件模块、ovs-vswitchd组件模块a、ovsdb组件模块和ovn-controller组件模块为ovn-central Deployment的Agent将逻辑流表翻译成真实的网络配置。
ovs-vswtichd、ovsdb-server、openvswitch.ko是OVS模块的三个基本组件,ovs-vswitchd组件是交换机的主要模块,运行在用户态,其主要负责基本的转发逻辑、地址学习、外部物理端口绑定等。还可以运用OvS自带的ovs-ofctl工具采用OpenFlow协议对交换机进行远程配置和管理。
OVS一般存在两种运行模式,内核模式和DPDK模式。内核模式下存在一个datapath的内核模块,模块会在内核层面维护一份emc flow,数据包从网卡接收到时首先在datapath中进行emc flow的匹配,如果无匹配结果,则通过upcall机制交由核心组件ovs-vswitchd处理。ovs-vswitchd收到upcall的数据包时首先根据数据包查询是否存在emcflow,如果存在则根据emc flow的内容对数据包处理,如果不存在则对数据包匹配openflow并根据匹配结果创建emc flow,并将其下发至datapath中,这一过程也称为offload。ovs-vswitchd主要工作就是对收到的数据包进行匹配,根据匹配结果对数据包进行处理并转发。
Pod是Kubernetes中一个抽象化概念,是一 组共享资源(包括存储、网络等)的容器,Pod内的 容器在同一个namespace命名空间。master节点通过scheduler组件把Pod调度到合适的node工作节点上,并与容器运行时协调以启动容器在Kubernetes中,Pod是调度的最小元素。
作为本发明的另一个优选实施例,2)步骤包括以下步骤:
2.01)、核心控制器和Agent模块通过kube-ovn-cni组件模块实现每个Master节点与相应的Worker节点的CNI接口通信连接,并操作本地的OVS配置单机网络;kube-ovn-cni组件模块为一个DaemonSet运行在每个节点上的组件,模块,DaemonSet会复制kube-ovn二进制文件到每个Pod所在的实体计算机内,作为kubelet组件模块和kube-ovn-cni组件模块之间的交互工具,将kubelet组件模块CNI接口请求发送至相应的kube-ovn-cni组件模块执行,kube-ovn二进制文件默认被复制到/opt/cni/bin目录下;
Master节点用于对整个K8S集群进行全局控制,节点内部包含Kube-apiserver、controller-manager、kube-proxy、scheduler以及etcd等核心控制管理组件,其中Kubeapiserver是供客户端和其他组件进行相互调用的对 外接口,controller-manager用于监视管理集群的资源状态,scheduler负责对集群资源进行调度,etcd则存储集群状态;Worker节点执行具体的应用程序,是任务工作节点,通常包含kubelet、kube-proxy以及cAdvisor等核心组件,其中kubelet组件从Kube-apiserver拉取 Pod生命周期信息,负责Pod的创建、启动以及删除 停止任务,其中Pod为K8S集群进行资源调度的最小 单位,内部由一个或者多个Docker容器组成,kube proxy负责为Service提供 cluster 内部的服务发现和负载均衡,进而负责进行服务发现和访问路由,;cAdvisor则用 以监测统计集群内部主机、Service以及Pod的运行数据。
在集群的每个节点上都运行一个Kube-Proxy服务,通过监听APIServer中的Service和EndPoint的变动情况,来为服务配置负载均衡,让我们的服务在集群中可以被访问到。对于Kube-Proxy来说,也需要配置认证信息。在所有的工作节点上执行“mkdir-p/etc/Kubernetes/ca/kube-proxy”、“cp~/KubePre/target/ca/kube-proxy/kube-proxy-csr.json/etc/Kubernetes/ca/kube-proxy”、“cd/etc/Kubernetes/ca/kube-proxy”、“cfssl gencert-ca=/etc/Kubernetes/ca/ca.pem-ca-key=/etc/Kubernetes/ca/ca-key.pem-config=/etc/Kubernetes/ca/ca-config.json-profile=Kubernetes kube-proxy-csr.json cfssljson-bare kube-proxy”命令,生产所需的私钥和证书文件。其名称分别为“kube-proxy-key.pem”和“kube-proxy.pem”文件,之后需要创建 Kube-Proxy.kubeconfig 的配置文件。
执行“kubectl config set-cluster Kubernetes–certificate-authority=/etc/Kubernetes/ca/ca.pem-embed-certs=true--server=https://xxx.xxx.xxx.xxx:6443”、“kubectlconfig=kube-proxy.kubeconfig”、“kubectl config set-credentialskube-proxy--client-certificate=/etc/Kubernetes/ca/kube-proxy/kube-proxy.pem-client-key=/etc/Kubernetes/ca/kube-proxy/kube-proxy-key.pem--embed-certs=true–kubeconfig=kube-proxy.kubeconfig”、“kubectl config set-context default--cluster=Kubernetes-user=kube-proxy-kubeconfig=kube-proxy.kubeconfig”命令,设置上下文信息。
执行“kubectl config use-context default -kubeconfig=kube-proxy.kubeconfig”命令,选择上下文。执行“mv kube-proxy.kubeconfig/etc/Kubernetes/kube-proxy.kubeconfig”命令,生成名为“kube-proxy.kubeconfig”的配置文件,并将其移动到指定路径。
按照上述方法,将“worker-node”目录中的“kube-proxy.service”文件复制到“/lib/systemd/system”目录中。执行“systemctl enable kube-proxy.service”、“aptinstall conntrack”、“service kube-proxy start”命令,来启动Kube-Proxy服务。
2.02)、核心控制器和Agent模块再通过kube-ovn-controller组件模块监听所有和网络功能相关的资源时间,并根据资源变化情况更新OVN/OVS组件模块的逻辑网络。
进一步的,监听的资源包括多个Pod信息、Service信息、Endpoint信息、Node信息、NetworkPolicy信息、VPC信息、Subnet信息、Vlan信息以及ProviderNetwork。
以Pod信息为例,kube-ovn-controller模块监听到Pod创建事件后,通过内置的内存IPAM功能分配地址,并调用ovn-central创建逻辑端口,静态路由和可能得ACL规则。接下来kube-ovn-controller模块将分配到的地址和子网信息(例如CIDR信息、网关信息和路由信息等)写到相应Pod的更新信息中,该更新信息后续会被kube-ovn-cni读取用来配置本地网络。
作为本发明的另一个优选实施例,kube-ovn-cni组件模块在2)步骤中还配置具体的网络执行相应流量操作,包括以下步骤:
2.11)、配置kube-ovn-controller组件模块和vswitchd组件模块;
2.12)、处理CNI add/del请求,创建删除veth文本并和OVN/OVS组件模块的OVS端口绑定;
2.13)、配置OVS端口信息;
2.14)、更新宿主机的iptables规则、ipset规则或route规则;
2.15)、动态更新容器网络QoS;
2.16)、创建并配置ovn0网卡联通容器网络和主机网络;
2.17)、配置主机网卡来实现Vlan功能、Underlay功能或EIP功能;
2.18)、配置动态集群互联网关。
作为本发明的另一个优选实施例,3)步骤包括以下步骤:
3.1)、在特定标签节点上对外发布容器网络的路由,使得外部直接通过多个PodIP访问容器;
3.2)、在每个节点上收集OVN/OVS组件模块的运行信息、节点网络质量或网络延迟信息作为监控指标
3.3)、在每个节点上收集OVN/OVS组件模块中OVN组件模块的运行信息作为监控指标;
3.4)、运行运维操作。
如图2所示,为本发明提供的采用如上方法的基于SDN技术的容器云平台网络通信管理***,包括OVN/OVS组件模块、核心控制器和Agent模块和监控及运维扩展组件模块;
OVN/OVS组件模块,用于采用其北向接口创建和调整虚拟网络,将其中的网络概念映射至多个在Master节点的Kubernetes模块之内;
核心控制器和Agent模块,用于作为OVN/OVS模块与多个在Master节点的Kubernetes模块之间的桥梁,将网络概念进行转换以实现网络动态调控;
监控及运维扩展组件模块,用于监控、诊断和运维操作并进行外部对接。
进一步的,监控及运维扩展组件模块包括kube-ovn-speaker组件模块、kube-ovn-pinger组件模块、kube-ovn-monitor组件模块和kubectl-ko组件模块;
kube-ovn-speaker组件模块,用于在特定标签节点上运行,然后对外发布容器网络的路由,使得外部直接通过多个Pod IP访问容器;
kube-ovn-pinger组件模块,用于在每个节点上收集OVN/OVS组件模块中OVS组件模块的运行信息、节点网络质量或网络延迟信息作为监控指标;
kube-ovn-monitor组件模块,用于在每个节点上收集OVN/OVS组件模块中OVN组件模块的运行信息作为监控指标;
kubectl-ko组件模块,用于运行运维操作。kubectl-ko组件模块为kubectl的插件。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:获取至少两个网际协议地址;向节点评价设备发送包括至少两个网际协议地址的节点评价请求,其中,节点评价设备从至少两个网际协议地址中,选取网际协议地址并返回;接收节点评价设备返回的网际协议地址;其中,所获取的网际协议地址指示内容分发网络中的边缘节点。
或者,上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:接收包括至少两个网际协议地址的节点评价请求;从至少两个网际协议地址中,选取网际协议地址;返回选取出的网际协议地址;其中,接收到的网际协议地址指示内容分发网络中的边缘节点。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一获取单元还可以被描述为“获取至少两个网际协议地址的单元”。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (10)
1.基于SDN技术的容器云平台网络通信管理方法,其特征在于,包括以下步骤:
1)、OVN/OVS模块采用其北向接口创建和调整虚拟网络,将其中的网络概念映射至多个在Master节点的Kubernetes模块之内;
2)、核心控制器和Agent模块作为OVN/OVS模块与多个在Master节点的Kubernetes模块之间的桥梁,将网络概念进行转换以实现网络动态调控;
3)、监控、诊断和运维操作并进行外部对接。
2.根据权利要求1所述的基于SDN技术的容器云平台网络通信管理方法,其特征在于,所述1)步骤包括以下步骤:
1.1)、所述Kubernetes模块内的ovn-central运行模块运行OVN管理平面组件;
1.2)、多个ovn-central通过Raft协议同步数据保证多租户环境下数据可用。
3.根据权利要求2所述的基于SDN技术的容器云平台网络通信管理方法,其特征在于,所述OVN管理平面组件包括ovn-nb db组件模块、ovn-sb db组件模块和ovn-northd组件模块;
所述ovn-nb组件模块,用于保存虚拟网络配置,并提供API进行虚拟网络管理;
所述ovn-sb db组件模块,用于保存从ovn-nb db的逻辑网络生成的逻辑流表,以及各个节点的实际物理网络状态;
所述ovn-northd组件模块,用于将ovn-nb db的虚拟网络翻译成ovn-sb db中的逻辑流表。
4.根据权利要求3所述的基于SDN技术的容器云平台网络通信管理方法,其特征在于,所述OVN/OVS模块以DaemonSet形式运行在每个节点,在多个Pod内运行openswitch组件模块、ovsdb组件模块和ovn-controller组件模块;所述openswitch组件模块、所述ovsdb组件模块和所述ovn-controller组件模块为ovn-central Deployment的Agent将逻辑流表翻译成真实的网络配置。
5.根据权利要求1所述的基于SDN技术的容器云平台网络通信管理方法,其特征在于,所述2)步骤包括以下步骤:
2.01)、所述核心控制器和Agent模块通过kube-ovn-cni组件模块实现每个Master节点与相应的Worker节点的CNI接口通信连接,并操作本地的OVS配置单机网络;
2.02)、所述核心控制器和Agent模块再通过kube-ovn-controller组件模块监听所有和网络功能相关的资源事件,并根据资源变化情况更新所述OVN/OVS组件模块的逻辑网络。
6.根据权利要求5所述的基于SDN技术的容器云平台网络通信管理方法,其特征在于,所述监听的资源包括多个Pod信息、Service信息、Endpoint信息、Node信息、NetworkPolicy信息、VPC信息、Subnet信息、Vlan信息以及ProviderNetwork。
7.根据权利要求5所述的基于SDN技术的容器云平台网络通信管理方法,其特征在于,所述kube-ovn-cni组件模块在2)步骤中还配置具体的网络执行相应流量操作,包括以下步骤:
2.11)、配置所述kube-ovn-controller组件模块和vswitchd组件模块;
2.12)、处理CNI add/del请求,创建删除veth端口并和OVN/OVS组件模块的OVS端口绑定;
2.13)、配置OVS端口信息;
2.14)、更新宿主机的iptables规则、ipset规则或route规则;
2.15)、动态更新容器网络QoS;
2.16)、创建并配置ovn0网卡联通容器网络和主机网络;
2.17)、配置主机网卡来实现Vlan功能、Underlay功能或EIP功能;
2.18)、配置动态集群互联网关。
8.根据权利要求1所述的基于SDN技术的容器云平台网络通信管理方法,其特征在于,所述3)步骤包括以下步骤:
3.1)、在特定标签节点上对外发布容器网络的路由,使得外部直接通过多个IP访问POD;
3.2)、在每个节点上收集OVN/OVS组件模块的运行信息、节点网络质量或网络延迟信息作为监控指标
3.3)、在每个节点上收集OVN/OVS组件模块中OVN组件模块的运行信息作为监控指标;
3.4)、运行运维操作。
9.采用如权利要求1-8任一所述方法的基于SDN技术的容器云平台网络通信管理***,其特征在于,包括OVN/OVS组件模块、核心控制器和Agent模块和监控及运维扩展组件模块;
所述OVN/OVS组件模块,用于采用其北向接口创建和调整虚拟网络,将其中的网络概念映射至多个在Master节点的Kubernetes模块之内;
所述核心控制器和Agent模块,用于作为OVN/OVS模块与多个在Master节点的Kubernetes模块之间的桥梁,将网络概念进行转换以实现网络动态调控;
所述监控及运维扩展组件模块,用于监控、诊断和运维操作并进行外部对接。
10.根据权利要求9所述的基于SDN技术的容器云平台网络通信管理***,其特征在于,所述监控及运维扩展组件模块包括kube-ovn-speaker组件模块、kube-ovn-pinger组件模块、kube-ovn-monitor组件模块和kubectl-ko组件模块;
所述kube-ovn-speaker组件模块,用于在特定标签节点上运行,然后对外发布容器网络的路由,使得外部直接通过多个IP访问POD;
所述kube-ovn-pinger组件模块,用于在每个节点上收集OVN/OVS组件模块中OVS组件模块的运行信息、节点网络质量或网络延迟信息作为监控指标;
所述kube-ovn-monitor组件模块,用于在每个节点上收集OVN/OVS组件模块中OVN组件模块的运行信息作为监控指标;
所述kubectl-ko组件模块,用于运行运维操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410599531.0A CN118200143A (zh) | 2024-05-15 | 2024-05-15 | 基于sdn技术的容器云平台网络通信管理方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410599531.0A CN118200143A (zh) | 2024-05-15 | 2024-05-15 | 基于sdn技术的容器云平台网络通信管理方法及*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118200143A true CN118200143A (zh) | 2024-06-14 |
Family
ID=91412587
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410599531.0A Pending CN118200143A (zh) | 2024-05-15 | 2024-05-15 | 基于sdn技术的容器云平台网络通信管理方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118200143A (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107947961A (zh) * | 2017-10-17 | 2018-04-20 | 上海数讯信息技术有限公司 | 基于SDN的Kubernetes网络管理***与方法 |
WO2022104395A1 (en) * | 2020-11-16 | 2022-05-19 | Juniper Networks, Inc. | Active assurance of network slices |
-
2024
- 2024-05-15 CN CN202410599531.0A patent/CN118200143A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107947961A (zh) * | 2017-10-17 | 2018-04-20 | 上海数讯信息技术有限公司 | 基于SDN的Kubernetes网络管理***与方法 |
WO2022104395A1 (en) * | 2020-11-16 | 2022-05-19 | Juniper Networks, Inc. | Active assurance of network slices |
Non-Patent Citations (4)
Title |
---|
"总体架构", HTTPS://KUBEOVN.GITHUB.IO/DOCS/V1.12.X/REFERENCE/ARCHITECTURE/, 8 May 2024 (2024-05-08) * |
OILBEATER, ZHANGZUJIAN: "Kube-OVN文档-总体架构", HTTPS://KUBEOVN.GITHUB.IO/DOCS/V1.12.X/REFERENCE/ARCHITECTURE/, 8 May 2024 (2024-05-08) * |
开始懂了90: "kubernetes集群搭建七:配置kube-proxy", HTTPS://WWW.JIANSHU.COM/P/9DF41502C0AE, 18 December 2018 (2018-12-18) * |
用户8100582: "容器编排引擎Kubernetes 01", HTTPS://CLOUD.TENCENT.COM/DEVELOPER/ARTICLE/2379182#%E7%B3%BB%E5%88%97%E7%9B%AE%E5%BD%95, 2 February 2024 (2024-02-02) * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107947961B (zh) | 基于SDN的Kubernetes网络管理***与方法 | |
CN110830357B (zh) | 使用高级拓扑描述的多云虚拟计算环境供应 | |
US11646941B2 (en) | Multi-cluster configuration controller for software defined networks | |
CN109743415B (zh) | 一种公有云网络弹性ip实现方法及*** | |
CN111542064B (zh) | 一种用于无线接入网的容器编排管理***及编排方法 | |
CN110366720A (zh) | 在绕过容器Linux网络堆栈的同时运行Docker容器内的用户空间网络堆栈的***和方法 | |
US20170272400A1 (en) | Network virtualization of containers in computing systems | |
US11425054B1 (en) | User-configured multi-location service deployment and scaling | |
US10142346B2 (en) | Extension of a private cloud end-point group to a public cloud | |
CN109088820B (zh) | 一种跨设备链路聚合方法、装置、计算装置和存储介质 | |
US10992526B1 (en) | Hyper-converged infrastructure networking configuration system | |
US11765014B2 (en) | Intent-based distributed alarm service | |
CN112202940A (zh) | 一种kubernetes对外暴露Pod服务方式 | |
CN106155264A (zh) | 管理存储子***的电力消耗的计算机方法与计算机*** | |
CN113709810A (zh) | 一种网络服务质量的配置方法、设备和介质 | |
DeCusatis et al. | Modeling software defined networks using mininet | |
US11765244B1 (en) | Latency-based service discovery and routing for multi-location service-oriented applications | |
CN113127144B (zh) | 一种处理方法、装置及存储介质 | |
US12028246B2 (en) | Collection of segment routing IPV6 (SRV6) network telemetry information | |
CN105871676B (zh) | 一种桌面云中远端虚拟机的网络连接方法及*** | |
CN112655185B (zh) | 软件定义网络中的服务分配的设备、方法和存储介质 | |
CN118200143A (zh) | 基于sdn技术的容器云平台网络通信管理方法及*** | |
Gonçalves et al. | D-CRAS: Distributed cloud resource allocation system | |
CN114584515A (zh) | 存储区域网络拥塞的端点通知 | |
US11870647B1 (en) | Mapping on-premise network nodes to cloud network nodes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |