<commit_before>// Module included in the following assemblies:
//
// * storage/persistent_storage/persistent-storage-csi.adoc

[id="persistent-storage-csi-architecture-{context}"]
= CSI Architecture

CSI drivers are typically shipped as container images. These containers 
are not aware of {product-title} where they run. To use CSI-compatible 
storage backend in {product-title}, the cluster administrator must deploy 
several components that serve as a bridge between {product-title} and the 
storage driver.
 
The following diagram provides a high-level overview about the components 
running in pods in the {product-title} cluster.

image::../../images/csi-arch.png["Architecture of CSI components"]

It is possible to run multiple CSI drivers for different storage backends. 
Each driver needs its own external controllers' deployment and DaemonSet 
with the driver and CSI registrar.
<commit_msg>Minor fix to image location in storage<commit_after>// Module included in the following assemblies:
//
// * storage/persistent_storage/persistent-storage-csi.adoc

[id="persistent-storage-csi-architecture-{context}"]
= CSI Architecture

CSI drivers are typically shipped as container images. These containers 
are not aware of {product-title} where they run. To use CSI-compatible 
storage backend in {product-title}, the cluster administrator must deploy 
several components that serve as a bridge between {product-title} and the 
storage driver.
 
The following diagram provides a high-level overview about the components 
running in pods in the {product-title} cluster.

image::csi-arch.png["Architecture of CSI components"]

It is possible to run multiple CSI drivers for different storage backends. 
Each driver needs its own external controllers' deployment and DaemonSet 
with the driver and CSI registrar.

{'fraction_non_alphanumeric': 0.06773127753303965, 'fraction_numerical': 0.0, 'mean_word_length': 4.823717948717949, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2395233', 'n_tokens_mistral': 483, 'n_tokens_neox': 454, 'n_words': 212}