container
文章平均质量分 88
cloudvtech
这个作者很懒,什么都没留下…
展开
-
CNCF CNI系列之一:浅谈kubernetes的网络与CNI(以flannel为例)
一、前言kubernetes作为container的orchestration框架,主要的功能是在更高的层次对kubernetes服务和承载服务的实体(container)的部署、配置、可靠性进行管理,对应有namespace、POD、deployment、service等kubernetes的资源供application服务的提供者进行不同粒度上的配置和控制。同样,在网络层面,kubernete...原创 2018-04-01 19:35:52 · 9100 阅读 · 1 评论 -
Openshift的网络之六:Router和ipfailover
一、前言在文章《Kubernetes如何利用iptables对外暴露service》中提到了部署在Kubernetes上的服务对外暴露的方法,比如通过host port、cluster service、node external IP、external load balancer、node port等,这都是借助于iptables的功能在三层和四层进行的。在Openshift中,提供了另外一种基于...原创 2018-04-30 06:58:19 · 2115 阅读 · 0 评论 -
kubernetes系列之十一:在Kubernetes平台对容器进行debug
一、前言在容器云的部署中,一个重要的准则是所有的容器以及容器内的进行都要以最低权限运行,所以一般情况下,一个应用程序的所有容器都是以非root权限运行的;另外,为了保证容器镜像的最小,一般debug相关的工具都不会随应用程序发布。在这种情况下,如果要对特定的容器进行debug,则必须让用户登录到特定的node,在宿主机系统空间运行debug命令,同时还要保证node上面有所有这些应用程序debug...原创 2018-05-11 08:32:15 · 2270 阅读 · 0 评论 -
kubernetes系列之十四:Kubernetes CRD(CustomResourceDefinition)概览
content原创 2018-05-15 09:17:37 · 20959 阅读 · 0 评论 -
kubernetes系列之十五:Kubernetes CRD在multus-cni和prometheus-operator的应用
conetent原创 2018-05-16 05:05:18 · 2852 阅读 · 0 评论 -
Openshift服务部署中的权限控制
一、前言Openshift具有很优秀的权限管理机制,提供非常细粒度的权限管理。访问Openshift平台服务的方式包括GUI、命令行、API、POD运行的权限,而可能的访问实体包括自然用户、外部应用程序、内部模块、POD内程序。这些不同的访问方式和访问实体需要使用灵活的机制去进行权限赋予和权限认证。自然用户访问Openshift平台的时候凭借用户名和密码或者kubeconfig的key文件可以在进...原创 2018-05-07 09:01:48 · 5352 阅读 · 1 评论 -
kubernetes系列之十:使用prometheus和grafana对kubernetes的部署进行监控
一、前言不同于传统平台的监控,在容器云平台由于POD的易变动性,所以需要更加container native的监控解决方案,Prometheus就是这样一个适合kubernetes平台的容器云监控解决方案。Prometheus已经成为CNCF的项目,能够和Kubernetes很好的集成。Prometheus和Kubernetes集成有两种方式,一种是使用prometheus-operator,另外...原创 2018-05-10 10:26:52 · 4069 阅读 · 0 评论 -
kubernetes系列之九:kubernetes container的lifecycle hook
一、前言在传统操作系统环境下,我们每个应用程序在启动之前都需要进行一些准备工作而结束之前都需要进行一些清理工作,这样才能保证系统环境的一致性。在容器云环境下,容器的启动和删除是相对频繁的行为,如何在这样的环境中处理好环境一致性问题,Kubernetes的容器 lifecycle hook可以解决这个问题。POD的life cycle hook包括如下两种:PostStartPreStop转载自ht...原创 2018-05-09 08:52:47 · 3342 阅读 · 0 评论 -
kubernetes系列之十二:POD多网卡方案multus-cni之概览
一、前言在生产环境下,为了保证安全性和性能,不同功能的网络进行隔离是一个必要的措施,比如管理网络、控制网络和数据网络的隔离(必要情况下,数据网络的data in和data out网络也要进行隔离)。这种隔离在物理机和虚拟机里面很容易实现,但是在POD里面,如果使用Kubernetes这样的容器云管理平台,则会面临一些限制,尤其是现在Kubernetes的POD默认还不支持多网卡设置,但是业界对PO...原创 2018-05-12 16:25:06 · 15211 阅读 · 3 评论 -
DPDK系列之十三:容器基于OVS-DPDK的dpdkvhostuser端口的pktgen和testpmd数据包测试
一、前言原创 2018-06-10 08:01:19 · 3319 阅读 · 0 评论 -
DPDK系列之十三:基于OVS-DPDK的容器数据通道分析
一、前言根据文章《DPDK系列之十一:容器云的数据通道加速方案概览》和文章《DPDK系列之十二:基于virtio、vhost和OVS-DPDK的容器数据通道》的分析,部署在物理机或者虚拟机上的容器可以有多种方案来进行数据通道的加速。而类似SR-IOV的方案需要特定NIC硬件的支持并且在容器迁移灾备方面没有太大的灵活性,所以本文主要对于基于virtio-user(virtio PMD)和vhost-...原创 2018-06-11 10:56:35 · 1920 阅读 · 0 评论 -
kubernetes系列之四:kubernetes的源地址保持(source IP preserve)
一、前言kubernetes提供服务的实体(POD)具有内部网络空间的地址,外部无法直接访问,所以kubernetes提供了多种对外暴露POD服务的方法。这些方法都借助于kubernetes的service的概念,将一系列具有等同服务能力的POD组成一个抽象的服务实体,这个服务实体具有一个虚IP,这个虚IP可以是kubernetes cluster内部网络可达的IP(对应cluster servi...原创 2018-04-13 18:47:02 · 5645 阅读 · 0 评论 -
kubernetes系列之七:一些将legacy应用迁移到kubernetes的经验
一、前言基于kubernetes的应用实际上是微服务在container方向的实例,所以很多微服务的设计原则在kubernetes框架内依然具有参考价值,比如The Twelve Factors。在legacy应用从基于VM的部署向基于kubernetes部署的迁移过程中,需要根据container和微服务的特点,对legacy系统的诸多方面进行调整,满足kubernetes平台微服务的一些基本要...原创 2018-04-21 10:18:36 · 899 阅读 · 0 评论 -
kubernetes系列之二:iptables概览
一、前言在基于虚拟化的云系统中,网络虚拟化是不可或缺的关键部分。虚拟化的网络可以自由的在本地进行基于单机的网络配置或者借助一些互联技术(underlay、overlay或者点对点技术)在虚拟网络内部空间实现跨节点和数据中心的网络互联,但是如果虚拟网络内部的服务要对外进行暴露,就不得不借助地址转换或者端口转换等数据包修改技术。而在现有的container管理框架中,iptables更是承担了服务暴露...原创 2018-04-06 07:59:16 · 2434 阅读 · 0 评论 -
Container网络方案之macvlan
一、方案分析在默认container 运行时(比如docker)的网络配置下,所有的container的数据包都会通过一个默认的bridge外加iptables的NAT进出,对于大流量或者大TPS的程序,基于Linux内核功能的bridge和NAT无疑会成为容器网络能力的瓶颈,可以使用macvlan的功能来提高container的网络能力。转载自https://blog.csdn.net/clou...原创 2018-03-26 14:08:28 · 3340 阅读 · 0 评论 -
CNCF CNI系列之三:flannel vxlan模式工作原理浅析
一、前言flannel为container提供网络解决方案。flannel有一个基于etcd cluster的数据交换中心,每个节点上有flannel service,每个节点被分配不同的网段,每个节点上的container从该网段获取IP。一个节点之间通过一个overlay网络保证container可以互联互通。转载自https://blog.csdn.net/cloudvtech二、flann...原创 2018-04-04 08:08:15 · 6009 阅读 · 2 评论 -
CNCF CNI系列之二:CNI(container network interface)概览(以macvlan为例)
一、前言CNCF的CNI是一个接口规范,这个规范定义了输入、输出的标准和调用的接口。只要调用CNI插件的实体遵守这个规范,就能从CNI拿到满足网络互通条件的网络参数(如IP地址、网关、路由、DNS等),这些网络参数可以配置container实例。本文通过分析手动调用macvlan CNI的过程,了解CNI接口规范的运行模式。转载自https://blog.csdn.net/cloudvtech二、...原创 2018-04-03 20:57:45 · 1836 阅读 · 0 评论 -
Container网络互联方案汇总
前言网络的职责是将散落在不同范围的终端实体相互联通,并提供复杂的策略管理能力。根据终端实体散布的范围不同,可以由不同的网络设备和功能进行辅助,而路由和封装是最为常见的网络连接手段。路由方式适合大规模动态扩展并且发送效率较高,但是管理复杂度也更高,单个网络接入点需要感知周围网络的状态;封装方式配置相对简单,但是需要有耗费计算资源的封装步骤,并且不太利于创建动态可扩展的大规模网络。Container网...原创 2018-03-27 11:21:02 · 686 阅读 · 0 评论 -
kubernetes系列之六:安装kubernets v1.10.0和ipvs mode kube-proxy
一、前言kubeadm是Kubernetes官方推出的快速部署Kubernetes集群工具,kubeadm通过将Kubernetes相关服务容器化以简化部署过程。在kubernetes 1.8以上的版本中,对于kube-proxy组件增加了除iptables模式和用户模式之外ipvs模式的支持。通过ipvs的NAT模式,对访问k8s service的请求进行虚IP到POD IP的转发。本文在kub...原创 2018-04-14 18:50:06 · 6660 阅读 · 1 评论 -
kubernetes系列之五:IPVS概览
一、前言IPVS是基于TCP四层(IP+端口)的负载均衡软件。IPVS会从TCP SYNC包开始为一个TCP连接所有的数据包建立状态跟踪机制,保证一个TCP连接中所有的数据包能到同一个后端。所以IPVS是基于TCP状态机进行控制管理,只感知TCP头而不对TCP的payload进行查看;因此,对IPVS后端服务器集群还有一个假定,那就是所有后端都具有同样的应用层的服务功能,但是由于IPVS可以给后端...原创 2018-04-17 22:05:20 · 13367 阅读 · 0 评论 -
Container网络性能比较:bridge+NAT方案与macvlan方案 (1) 性能测试系统配置
一、前言docker container的原生网络解决方案是bridge+NAT,而借助pipework这类工具,可以为container快速配置macvlan网络。本文利用HLS格式多媒体流对这两个方案的网络数据转发性能进行测试。相关的系统参数如下:物理机配置:128GB内存,CPU(Processor Sockets 2, Processor Cores per Socket 12, Hype...原创 2018-03-28 15:08:21 · 1694 阅读 · 0 评论 -
Container网络性能比较:bridge+NAT方案与macvlan方案 (2) 性能测试结果分析
一、前言在测试过程中,对于HLS流媒体服务,最重要的衡量量是并发用户数、延时和吞吐量。要追求的优良的性能是指能在一定数目的并发用户情况下,在应用可接受的时延内,达到一定的数据吞吐量。过多的并发用户会导致时延的指数级上升,虽然此时吞吐量未必会下降,但不是一个可以接受的结果。在测试过程中,Spirent作为模拟客户端,跟标准的客户端player还略有不同,标准客户端在获取HLS的片段的时候,会集中一段...原创 2018-03-30 09:54:25 · 2333 阅读 · 0 评论 -
kubernetes系列之一:Kubernetes如何利用iptables对外暴露service
一、前言Kubernetes利用iptables达成以下两个目的:对外暴露POD和服务(通过host port、cluster service、node external IP、external load balancer、node port)简单的负载均衡在Kubernetes worker node的iptables的NAT表的prerouting和output 链表会出现如下规则作为kube...原创 2018-03-31 19:06:46 · 4292 阅读 · 0 评论 -
CNCF CNI系列之四:flannel host-gw模式工作原理浅析
一、前言flannel作为一个container互联解决方案,不仅提供基于封装类型的互联技术,也提供基于路由技术的互联技术,比如host-gw模式。host-gw模式通过建立主机IP到主机上对应flannel子网的mapping,以直接路由的方式联通flannel的各个子网。这种互联方式没有vxlan等封装方式带来的负担,通过路由机制,实现flannel网络数据包在主机之间的转发。但是这种方式也有...原创 2018-04-05 09:23:06 · 8839 阅读 · 0 评论 -
DPDK系列之十四:在kubernetes运行Intel的vhost-user-net-plugin插件以支持dpdk
一、前言根据文章《容器云的数据通道加速方案概览》的描述,借助Intel提供的vhost-user-net-plugin CNI,可以为基于Kubernetes的容器配置使用virtio前端和vhost-user后端的数据通道加速方案,vhost-user后端port可以由OVS-DPDK或者VPP提供。本文就将使用multus绑定flannel和vhost-user-net-plugin两种网络类...原创 2018-06-12 09:10:48 · 4433 阅读 · 0 评论