6、Kubemark模块
在v1.2增加了kubemark模块,这是一个可以独立运行的模块,用来对kubernetes进行仿真环境性能测试。因为随着kubernetes可以管理集群规模的扩大,找到适合的仿真环境变得越来越难了,当kubernetes1.1的时候,使用100个NODE节点进行仿真性能测试,在v1.2,要使用1000个NODE节点进行仿真性能测试,找到1000个节点的仿真环境并不是一件容易的事情,所以在v1.2中新增了kubemark模块,这个模块可以模拟一个NODE节点上的kubelet和kube-proxy两个程序。从代码中可以看出来模拟的kubelet和kube-proxy程序使用的是真实的kubelet和kube-proxy的核心代码,这样保证了仿真性能测试程序的可维护性。也可以在一个NODE节点上运行多套kubelet和kube-proxy程序,这样就可以在一个NODE节点上模拟多个仿真NODE节点,也就是说可以使用100个NODE节点来模拟1000个仿真NODE节点。
7、第三方卷管理插件
在v1.2增加了微软Azure File 服务、ConfigMap、FlexVolume三种卷管理。
微软Azure File 服务使用标准 SMB 2.1 和SMB3.0协议提供文件共享服务,v1.2中POD可以挂载微软Azure File服务提供的卷。
ConfigMap是v1.2的新特性,前面介绍过了,ConfigMap用于在容器启动时向容器传入环境变量,这种方式的问题在于如果环境变量变化了,那么需要重新创建容器才能使配置生效,在v1.2中还可以通过挂载ConfigMap类型的卷,来将配置文件作为卷挂载到POD中,这样的的话就不需要重新创建容器就可以改变配置。
FlexVolume目前是一个在开发环境运行的功能特性,这个功能利用到了前面介绍的kubelet模块中新增加的VolumePluginDir参数,第三方卷供应商可以自行编写卷驱动程序,并且放在VolumePluginDir参数指定的路径中,这样kubenetes就可以使用这些卷了,这样做比较麻烦的地方在于,需要事先将卷驱动程序放到每个NODE节点的指定目录中,好处在于如果NODE节点连接到了第三方卷供应商提供的卷,那么可以使用这种方式将卷利用起来。