存储服务


Rancher提供不同的存储服务,能够将卷暴露于容器。

设置存储服务

设置环境模板时,可以选择要在环境中使用的存储服务。

或者,如果您已经设置了一个环境,则可以从目录中选择并启动存储服务。

注意:某些存储服务可能与某些容器编排类型(即Kubernetes)不兼容。环境模板将根据业务流程限制哪些模板兼容,但所有选项都可以从目录中获得。

查看存储驱动程序

存储服务启动后,已创建存储驱动程序,并可在基础设施 - > 存储中查看。您将可以看到您环境中可用的所有存储驱动程序。存储驱动程序的名称来自堆栈的名称。

在每个存储驱动程序中,将列出运行存储服务的主机。通常,这是环境中的所有主机。还列出了存储驱动程序中的卷及其状态列表。对于每个卷,您可以看到卷的名称(即主机上的卷的名称)和每个卷的安装。对于每个安装,容器名称和容器中的目录路径。

卷范围

通过我们的存储服务,我们可以在不同的级别进行范围的量化。目前,只有Rancher Compose支持创建不同类型的卷。UI仅创建环境范围的卷。

堆栈范围

使用堆栈范围的卷,引用堆栈中相同卷的服务将共享相同的卷。堆栈外的服务不能使用相同的卷。

在Rancher中,堆栈范围的卷以堆栈名称作为前缀命名,以指示卷的范围为哪个堆栈,后缀为随机数,以确保不会重复。引用卷时,仍然使用原始卷名。例如,如果在stackA中创建一个名为foo的卷,在UI和主机上卷名显示为 stackAfoo, 而在你服务中使用相同的卷,你应该使用foo这个名称。

环境范围

使用环境作用域卷,在环境中引用相同卷的服务将共享相同的卷。不同堆栈中的服务可以共享相同的卷。目前,环境范围的卷只能通过UI创建。

在UI中使用存储驱动程序

存储服务启动后active服务可以开始使用共享存储。在创建服务时,在“ ”选项卡中,提供卷驱动程序

将与Docker的语法相同<volume_name>:</path/in/container>。Docker卷默认以读写模式进行装载,但您可以通过:ro在卷的末尾加入将其设置为只读。

卷驱动程序将存储驱动器,它是叠层的名称的名称。

如果<volume_name>存储驱动程序中已经存在,则如果卷满足卷范围要求,则将使用相同的卷。

创建新卷

可以在2个部分中创建卷:

  1. 创建服务后,如果存储驱动程序中不存在“卷 ”选项卡中的,则会创建一个环境作用域卷。如果卷驱动程序中已经存在卷,则不会创建新的卷。

注意:此选项不适用于Rancher EBS,因为在使用该卷之前必须在卷上定义特定的驱动程序选项。

  1. 基础设施 - > 存储中,单击添加卷。如果需要,请提供卷和驱动程序选项的名称。此卷将inactive直到服务开始使用。

使用存储驱动程序与Rancher Compose

存储基础架构服务启动后,您可以开始创建卷。在下面的例子中,我们使用了Rancher NFS存储服务。

卷可以被指定为该volumes键下的Docker Compose文件的一部分。每个卷可以与同一文件中的一个或多个服务相关联。此功能仅在使用v2格式的Compose文件时可用。

版本:' 2 '
服务:
   foo:
     image:busybox 
    stdin_opcn:true 
    volumes:
    - bar:/ var / lib / storage 
volumes:
   bar:
     driver:rancher-nfs

堆栈范围

默认情况下,所有卷都在堆栈范围内创建。在Compose文件或堆栈中引用相同卷的服务将共享相同的卷。

从同一个Compose文件启动新的堆栈时,将创建一个新的卷。当堆栈被删除时,其相应的卷被删除。

在上面的例子中,volume bar有堆栈范围。

环境范围

要跨堆叠使用卷,您需要使用环境范围的卷。在这种情况下,在使用卷启动服务和堆栈之前,必须在Rancher中创建卷。要使用环境范围的卷,您external可以向卷添加选项。

版本:' 2 '
服务:
   foo:
     image:busybox 
    stdin_opcn:true 
    volumes:
    - bar:/ var / lib / storage 
volumes:
   bar:
     driver:rancher-nfs 
    external:true

如果bar在启动此堆栈时在环境级别找不到名称的卷,则会抛出错误。环境范围的卷只能从UI中删除。

results matching ""

    No results matching ""