重学容器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只关心容器创建时的…… 阅读全文
重学容器15: nerdctl创建容器时指定容器连接的网络 2021年6月13日 通过上节内容的学习,nerdctl在启动容器时连接的网络默认是bridge,除此之外还可以使用--net选项指定其他网络模式。 1--network value, --net value Connect a container to a network ("bridge"|"host"|"none") (default: "bridge") 从nerdctl命令的帮助中给出了使用--net选项指定启动容器时连接的网络,默认是br…… 阅读全文
重学容器14: 初识容器网络之bridge 2021年6月12日 从本节开始学习容器网络,根据前面已经学习过的内容,单机模式下使用容器的最佳组合是nerdctl+containerd+buildkit,这套组合已经可以在本地开发、测试和单机容器部署方面替代docker了。关于容器网络的学习,就先从nerd…… 阅读全文
重学容器13: 在k8s集群上部署buildkit 2021年6月11日 前面已经完成了rootless模式下buildkitd的二进制部署,本节将buildkitd部署到k8s集群中。 具体的环境信息k8s集群版本1.20.7,服务器系统CentOS 7.9,Jenkins Master通过使用kubernetes-…… 阅读全文