Getty Images / IstockPhoto
容器存储界面如何帮助Kubernetes使用
与树插件相比,容器存储接口简化了Kubernetes与存储设备的集成,但是必须对CSI驱动程序进行彻底的测试。
容器存储界面使Kubernetes能够使用各种存储设备。但是,在使用之前,管理员必须确切地了解为什么 - 以及如何实现存储界面。
管理员可以使用容器存储接口(CSI)Kubernetes持久卷,持久卷索赔和存储类。CSI.司机也可以与Kubernetes之外的其他容器编制系统一起工作。
CSI和Kubernetes的主要用途
容器存储接口的主要用途是存储抽象。它使kubernetes能够使用任何存储设备有哪个接口驱动程序可用。
这些驱动程序也使Kubernetes更加稳定和可靠,因为它们位于Kubernetes的核心代码之外。CSI驱动程序取代了旧的插件系统。
与树内插件相比,CSI的好处
容器存储接口的主要优点是简单。在Kubernetes创建接口之前一般可用在1.13版中,存储通过“树木”插件暴露,该插件直接集成到Kubernetes二进制文件中。虽然这些树木插件工作,但它们的使用至少有三项重大挑战。
首先,如果一个供应商想制造它存储产品与Kubernetes合作如果是这样,它就必须与几个级别的官僚机构合作,才能将其插件与Kubernetes软件集成。
其次,供应商无法轻松解决错误的错误或添加增强功能,因为它们是核心Kubernetes代码的一部分。
第三,最重要的是,写入不好的插件可能会使Kubernetes平台稳定。
现在,而不是这些插件,供应商可以使用API要创建一个容器存储界面驱动程序,可让其硬件与Kubernetes一起使用。存储供应商不再面对尝试支持Kubernetes集成的麻烦。相反,它们可以随时创建接口驱动程序,并提供新版本的这些驱动程序。
实施最佳实践
在生产环境中使用它们之前彻底测试CSI驱动程序。测试有助于避免错误的驱动程序,但也很重要,因为并非所有驱动程序都会产生平等。
驱动程序包括几个子组件——其中之一是容器存储接口控制器。控制器是告诉Kubernetes如何在低级别执行各种功能的机制。
例如,控制器可能包含特定于硬件的指令来提供一个卷,附加一个卷到kuberentes节点或者创建卷快照。Kubernetes将只能执行控制器中确定的硬件级功能。
早期版本驱动程序可能只包含基本功能,在后续版本中具有其他功能。测试将识别任何缺少的功能。
此外,只有使用CSI驱动程序的发布版本。五金供应商提供一些司机,但社区会发展其他人。托管社区开发项目的网站经常列出代码的当前稳定版本,但也可能提供一个或多个预发布版本。这些预发布版本可能包含重大的错误。永远不要在生产环境中使用它们,即使它们提供了额外的功能。