Storage Flashcards

(26 cards)

1
Q

Why use storage for applications in AKS?

A

Applications running in Azure Kubernetes Service (AKS) might need to store and retrieve data. Pods might need to share the same data volumes or reattach data volumes if the pod is rescheduled on a different node.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What are the core concepts for AKS storage?

A

Volumes
Persistent volumes
Storage classes
Persistent volume claims

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is the definition of ephemeral?

A

Lasting for a very short time.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is a volume in AKS?

A

A volume represents a way to store, retrieve, and persist data across pods and through the application lifecycle.

Kubernetes typically treats individual pods as ephemeral, disposable resources. Applications have different approaches available to them for using and persisting data.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What are the different Data Volumes in Azure?

A

Azure Disk
Azure Files
Azure NetApp Files
Azure Blobs

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What are the different types of DataDisk resources available for Azure Disk?

A

Premium SSDs (recommended for most workloads)
Ultra disks
Standard SSDs
Standard HDDs

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Can Azure Disk be accessible to all Nodes in a cluster?

A

No. Because an Azure Disk is mounted as ReadWriteOnce, it’s only available to a single node. For storage volumes accessible by pods on multiple nodes simultaneously, use Azure Files.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What are the common kubernetes volume types?

A

emptyDir
secret
configMap

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is a emptyDir volume type in AKS?

A

This volume is commonly used as temporary space for a pod. All containers within a pod can access the data on the volume. Data written to this volume type persists only for the lifespan of the pod - when the pod is deleted, the volume is deleted.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is a secret volume type in AKS?

A

This volume is used to include sensitive data, such as passwords, into pods. Secrets are only provided to nodes with a scheduled pod that requires it, and the secret is stored in tmpfs, not written to disk. Secrets are stored within a given namespace and can only be accessed by pods within the same namespace.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is a configMap volume type in AKS?

A

This volume type is used to inject key-value pair properties into pods, such as application configuration information. This ConfigMap can then be requested when you define a pod or deployment. ConfigMaps are stored within a given namespace and can only be accessed by pods within the same namespace.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is a Persistent volume in AKS?

A

A persistent volume is a storage resource created and managed by the Kubernetes API that can exist beyond the lifetime of an individual pod.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is StatefulSets in Kubernetes?

A

A StatefulSet runs a group of Pods, and maintains a sticky identity for each of those Pods. This is useful for managing applications that need persistent storage or a stable, unique network identity.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What is the best choice for ReadWriteOnce persistent volume?

A

You can use AKS disk volumes backed by VHDX that are mounted as ReadWriteOnce and are accessible to a single node at a time.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is the best choice for ReadWriteMany persistent volume?

A

You can use AKS file volumes backed by SMB or NFS file shares. These are mounted as ReadWriteMany and are available to multiple nodes concurrently.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

How does Kubernetes API know, what needs to be created when a pod request storage and its not available?

A

If a pod is scheduled and requests storage that is not currently available, Kubernetes can create the underlying VHDX file and then attach it to the pod. Dynamic provisioning uses a StorageClass to identify what type of storage needs to be created.

17
Q

What are Storage Classes in AKS?

A

To define different tiers (and location) of storage you can create a StorageClass. The StorageClass also defines the reclaimPolicy.

18
Q

What is reclaimPolicy in AKS Storage classes?

A

reclaimPolicy controls the behavior of the underlying storage resource when the pod is deleted and the persistent volume might no longer be required.

19
Q

In AKS for Azure Local, what is the default storage class?

A

In AKS Arc, the default storage class is automatically created and uses CSV to create VHDX-backed volumes. The reclaim policy ensures that the underlying VHDX is deleted when the persistent volume that used it is deleted

20
Q

What is a PersistentVolumeClaim in AKS?

A

A PersistentVolumeClaim (PVC) is a request for storage by a user. They can requests either ReadWriteOnce or ReadWriteMany storage of a particular StorageClass and size.

A PersistentVolume is bound to a PersistentVolumeClaim once an available storage resource is assigned to the pod requesting it. There is a 1:1 mapping of persistent volumes to claims.

21
Q

How to secure pod access to mounted volumes?

A

For your applications to run correctly, pods should run as a defined user or group and not as root. The securityContext for a pod or container lets you define settings such as fsGroup to assume the appropriate permissions on the mounted volumes.

22
Q

What is fsGroup within the securityContext?

A

It defines a supplemental group ID that Kubernetes assigns to all processes in the pod, and recursively to the files in mounted volumes. This ensures that the pod has the correct group-level access to shared storage volumes.

23
Q

What is Container Storage Interface (CSI) in AKS?

A

The Container Storage Interface (CSI) is a standard for exposing arbitrary block and file storage systems to containerized workloads on Kubernetes. By using CSI, AKS enabled by Arc can write, deploy, and iterate plug-ins to expose new storage systems.

24
Q

AKS Arc support what two CSI storage drivers?

A

AKS Arc disks and AKS Arc files

25
What is AKS Arc disks CSI driver support?
AKS Arc disks can be use to create a Kubernetes DataDisk resource. These are mounted as ReadWriteOnce, so they're only available to a single pod at a time.
26
What is AKS Arc files CSI driver support?
AKS Arc files can be use to mount an SMB or NFS share to pods. These are mounted as ReadWriteMany, so you can share data across multiple nodes and pods. They can also be mounted as ReadWriteOnce based on the PVC (persistent volume claim) specification.