K8S架构与核心技术介绍
参考文献:
https://jimmysong.io/kubernetes-handbook/concepts/concepts.html
https://www.infoq.cn/article/kubernetes-and-cloud-native-applications-part01/
文章目录
1. 架构图
1.1 整体结构图
1.2 组件间的协议
-
CNI: CNI是Container Network Interface的是一个标准的,通用的接口 ;用于连接容器管理系统和网络插件。提供一个容器所在的network namespace,将network interface插入该network namespace中(比如veth的一端),并且在宿主机做一些必要的配置(例如将veth的另一端加入bridge中),最后对namespace中的interface进行IP和路由的配置。现有解决方案:flannel,calico,weave。
参考链接:https://blog.csdn.net/zhonglinzhang/article/details/82697524 -
CRI: 容器运行时接口(Container Runtime Interface);CRI包含了一组protocol buffers,gRPC API,相关的库; 提供可插拔的容器运行时 ;k8s节点的底层由一个叫做“容器运行时”的软件进行支撑,它负责比如启停容器这样的事情;Docker是K8s中最常用的容器运行时;
参考链接:https://www.kubernetes.org.cn/1079.html
-
OCI: 围绕容器的格式和运行时制定一个开放的工业化标准,并推动这个标准,保持容器的灵活性和开放性,容器能运行在任何的硬件和系统上,容器不应该绑定到特定的客户机或编排堆栈,不应该与任何特定的供应商紧密关联,并且可以跨多种操作系统;
参考链接:https://www.jianshu.com/p/c7748893ab00
官网:https://opencontainers.org/