![]() This seems simple enough, however it gets a little more complicated if we want to use this approach for SASWORK, because a SAS compute pod is based on a PodTemplate and these PodTemplates are dynamically built using the kustomize tool. Take a look at this picture for a better understanding: Once the pod terminates, the disk will be detached and discarded. In case you picked one of the default storage classes on AKS which are backed by the Azure Disk service, the CSI driver will attach a new disk to the Kubernetes host and mount it to the requesting pod. ![]() the StorageClass), the access mode(s) and the volume size. The template contains all relevant information about the requested storage such as which CSI driver to use (a.k.a. A pod can request a volume by adding a volumeclaimTemplate to its’ manifest. The basic functionality of generic ephemeral volumes is simple to explain. Introduction to generic ephemeral volumes All these provisioners make use of Azure managed disks which are mounted and unmounted to the Kubernetes worker nodes. A StorageClass like managed-csi-premium, which is provided by default with each AKS cluster, is a good example for this. The most straightforward implementation of this API in AKS can be found in provisioners based on the CSI driver named. This blog describes how generic ephemeral volumes can be used in the managed Kubernetes service on Azure (also known as “AKS”). While the Kubernetes API defines how generic ephemeral volumes can be requested and how their lifecycle looks like, it is up to the specific Kubernetes CSI provisioners how this API is implemented. Just as a short summary: the default configuration for SASWORK ( emptyDir) will not meet the requirements for any serious workload and the alternative hostPath configuration (albeit providing sufficient performance) is often objected by Kubernetes administrators for security reasons.Īs we will see in this blog generic ephemeral volumes provide a good alternative to both options but some caution is advised to make sure that the I/O performance meets your expectations. In case you are wondering why you should bother at all about this I’d like to refer you to the blog I mentioned above. As the Kubernetes documentation puts it: a generic ephemeral volume is a “per-pod directory for scratch data“ and for that reason it is a prime candidate for being used as SASWORK and CAS disk cache data storage. As the name suggests, the lifetime of these volumes is coupled to the lifetime of the pod which makes the request. Generic ephemeral volumes have been introduced to Kubernetes in release 1.23. While the other text compares various storage options, I’d like to provide more details about a specific new Kubernetes API called “ generic ephemeral volumes” in this blog. ![]() This blog can be seen as an “extension” to my overview describing common options for SASWORK storage on Azure AKS (see here). ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |