Container layer storage management
An illustrative method of container layer storage management includes coordinating a storing of container images in a first storage system; forming a dataset for a containerized application by instructing the first storage system to merge collections of files from a set of source datasets including at least one immutable source dataset; receiving a request for the dataset for the containerized application for recovery of the containerized application from a first server cluster to a second server cluster; and coordinating, in response to the request, a providing of access to a copy of the dataset of the containerized application, by a second storage system, to servers in the second server cluster to enable access by the containerized application on the second server cluster.
1 . A method comprising:
coordinating, by a container storage management framework of a containerized application run-time environment operating on a first server cluster, a storing of container images in a first storage system, the container storage management framework forming a dataset for a containerized application by instructing the first storage system to merge collections of files from a set of source datasets including at least one immutable source dataset to construct a container image for the containerized application, the container image for the containerized application configured to be used by the containerized application run-time environment to run the containerized application on the first server cluster;
receiving, by a container storage management framework of a containerized application run-time environment operating on a second server cluster, a request for the dataset for the containerized application for recovery of the containerized application on the second server cluster; and
coordinating, by the container storage management framework of the containerized application run-time environment operating on the second server cluster and in response to the request, a providing of access to a copy of the dataset of the containerized application, by a second storage system, to servers in the second server cluster to enable access by the containerized application on the second server cluster.
2 . The method of claim 1 , wherein the request is received from a container management platform coresident with the containerized application run-time environment operating on the second server cluster.
3 . The method of claim 1 , wherein the coordinating the providing of access to the dataset comprises the container storage management framework of the containerized application run-time environment operating on the second server cluster instructing at least one of the first storage system and the second storage system to clone the dataset of the containerized application to the second storage system.
4 . The method of claim 1 , wherein the coordinating the providing of access to the copy of the dataset comprises the container storage management framework of the containerized application run-time environment operating on the second server cluster:
identifying a cloning capability between the first storage system and the second storage system; and
instructing, based on the identifying of the cloning capability, at least one of the first storage system and the second storage system to clone the dataset of the containerized application to the second storage system.
5 . The method of claim 1 , wherein the second storage system is the first storage system.
6 . The method of claim 1 , wherein the copy of the dataset of the containerized application is a copy of the dataset replicated to the second storage system.
7 . The method of claim 6 , wherein the coordinating the providing of access to the dataset comprises the container storage management framework of the containerized application run-time environment operating on the second server cluster instructing the second storage system to provide access to the copy of the dataset replicated to the second storage system.
8 . The method of claim 1 , wherein the forming the dataset for the containerized application comprises merging one or more layers of the container images to form the dataset implemented as contents of a managed directory of a file system, the managed directory associating management metadata and policies uniformly to the contents of the managed directory.
9 . The method of claim 1 , wherein the forming the dataset for the containerized application further comprises instructing the first storage system to copy data stored as objects in the set of source datasets into files in the collections of files that are merged to form the dataset for the containerized application.
10 . The method of claim 9 , wherein the providing the copy of the dataset comprises providing the one or more servers in the second server cluster access to the copy of the dataset based on instructions received from the container storage management framework of the containerized application run-time environment operating on the second server cluster.
11 . The method of claim 1 , wherein the storing of container images in the first storage system comprises the container storage management framework of the containerized application run-time environment operating on the first server cluster instructing the first storage system to retrieve and store, in a cache of the first storage system, one or more source datasets of the set of source datasets from one or more internet-accessible external sources.
12 . The method of claim 1 , wherein the container storage management framework is configured to provide the container image used by the containerized application run-time environment operating on the first server cluster to run the containerized application on one or more servers of the first server cluster.
13 . The method of claim 12 , wherein the container storage management framework is configured to provide persistent storage to the containerized application running on the one or more servers of the first server cluster.
14 . The method of claim 13 , wherein the container storage management framework is configured to use storage resources of the first storage system to provide the container image and the persistent storage.
15 . A method comprising:
storing, by a storage system, container images;
forming, by the storage system, a dataset for a containerized application by merging collections of files from a set of source datasets including at least one immutable source dataset, the merging performed based on instructions received from a container storage management framework of a containerized application run-time environment operating on a first server cluster, wherein the merging constructs a container image as part of the dataset for the containerized application, the container image for the containerized application configured to be used by the containerized application run-time environment to run the containerized application on the first server cluster;
providing, by the storage system, the dataset to one or more servers in the first server cluster to run the containerized application on the first server cluster;
creating, by the storage system, a copy of the dataset based on instructions received from a container storage management framework of a containerized application run-time environment operating on a second server cluster; and
providing, by the storage system, the copy of the dataset to one or more servers in the second server cluster to recover the containerized application on the second server cluster.
16 . The method of claim 15 , wherein copy of the dataset is a clone of the dataset.
17 . The method of claim 15 , wherein copy of the dataset is a replica copy of the dataset.
18 . A storage system comprising:
at least one processor; and
at least one memory storing instructions executable by the at least one processor to:
store container images;
form a dataset for a containerized application by merging collections of files from a set of source datasets including at least one immutable source dataset, the merging performed based on instructions received from a container storage management framework of a containerized application run-time environment operating on a first server cluster, wherein the merging constructs a container image as part of the dataset for the containerized application, the container image for the containerized application configured to be used by the containerized application run-time environment to run the containerized application on the first server cluster;
provide the dataset to one or more servers in the first server cluster to run the containerized application on the first server cluster;
create a copy of the dataset based on instructions received from a container storage management framework of a containerized application run-time environment operating on a second server cluster; and
provide the copy of the dataset to one or more servers in the second server cluster to recover the containerized application on the second server cluster.
19 . The system of claim 18 , wherein the forming the dataset for the containerized application comprises merging one or more layers of the container images to form the dataset.
20 . The system of claim 18 , wherein the dataset is implemented as a mutable volume.