重学容器22: Calico网络的基本概念 2021年7月19日 通过前面2节完成了calico node集群的二进制部署,并在集群各个节点上部署calico cni插件,测试了calico cni插件与containerd的集成。 本节将学习Calico网络的一些基本概念。 Calico Node的核心组件 Calico是一个…… 阅读全文
重学容器21: 手动启动containerd容器并连接到calico网络 2021年7月8日 前面一节完成了calico node集群的部署,本节将在各个节点上部署calico cni插件, 并在两个主机节点上各启动一个连接到calico网络的containerd容器,测试两个容器网络是否是打通的。 部署容器运行时Containerd和CN…… 阅读全文
重学容器20: 以二进制形式部署容器网络组件Calico 3.x 2021年7月7日 前面几节内容学习了容器网络接口CNI及CNI规范的一些基础知识,从本节开始学习开源虚拟网络方案Calico。 Calico是一个可用于容器、虚拟机和本机主机工作负载的开源网络和网络安全解决方案。 Calico支持广泛的平台,包括Kubernet…… 阅读全文
重学容器19: 从源码理解CNI接口 2021年7月1日 前面学习了CNI为容器网络创建定义的配置格式及基本的操作执行流程。 本节将从源码加深对CNI接口的理解。 CNI项目https://github.com/containernetworking/cni的libcni下包含CNI接口,供容器运行时…… 阅读全文
重学容器18: CNI的IP地址管理插件(IPAM Plugins) 2021年6月29日 容器运行时在调用CNI插件创建容器网络时,CNI插件需要为容器网络接口分配和维护一个IP地址,并配置该网络接口所需要的路由,着给了CNI插件很大的灵活性,但也给它们带来了很大负担。 许多CNI插件需要重复编写相同的代码来支持用户可能需求的集中…… 阅读全文
重学容器17: CNI网络配置详解 2021年6月27日 本节来学习CNI的网络配置。 CNI网络配置(Network Configuration) CNI的网络配置是JSON格式的,可以是存储在磁盘中的文件,也可以由容器运行时以其他方式生成。 下面是cni json配置文件中的一些重要字段: cniVersion(string): 描述cni配置遵循的cni规范版本(版…… 阅读全文
重学容器16: 容器网络接口CNI简介 2021年6月23日 CNI(容器网络接口)是云原生计算基金会(CNCF)的一个项目,它定义了一个规范,同时提供了一个Go语言的库(Library),用于开发在Linux容器中配置网络接口的插件,CNI项目还内置提供了一系列受支持的插件。 CNI只关心容器创建时的…… 阅读全文
重学容器03: 使用CNI为Containerd容器添加网络能力 2021年4月28日 在第2节中,我们部署了containerd,配置好了ctr和crictl这两个命令行工具,并且使用ctr启动了一个用于测试的redis容器,但是这个容器还不具备网络能力,只能在容器内部自己玩耍。 本节我们将尝试手工配置containerd与c…… 阅读全文
容器网络接口CNI的整理 2017年3月24日 CNI(Container Network Interface即容器网络接口)是由CoreOS提出的一个容器网络规范,包含方法规范、参数规范等,是Linux容器网络配置的一组标准和库,用户可以根据这些标准和库来开发自己的容器网络插件。CNI已经被Kubernetes、Mesos、…… 阅读全文