Chapter 10. Software-defined Storage and Storage Management for Containers Flashcards

1
Q

What is Software-defined storage and what aims it to do?

A
  • represents storage virtualization
  • aims to seperate the underlying storage hardware from the software that manages and provisions it
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is the benefit of Software-defined Storage and what additional features can it provide?

A
  • physical hardware from several sources can be combined, as a single storage pool
  • additional: resiliency features like replication, erasure-coding or snapshots of the pooled resources
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What access methods does SDN allow?

A
  • File
  • Block
  • Object
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What are examples for Software-Defined Storage implementations?

A
  • Ceph
  • Gluster
  • MinIO
  • OpenEBS
  • TrueNAS
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is Ceph and what does it support?

A
  • implementation for SDN
  • open source distributed storage system
  • provides object, filesystem and block storage in a single unified storage cluster
  • flexible, highly reliable, easy to manage
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What are volumes in Kubernetes and what are they used for?

A
  • essentially a directory backed by a storage medium
  • storage medium and its content are determined by the volume typ
  • Kubernetes uses volumes to attach external storage to containers managed by pods
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

In what relations is a volume to containers and how long-lived are they?

A
  • volume linked to a pod
  • shared among containers of that pod
  • volume lifetime same as pod
  • data remains between container restarts
  • deletion of pod looses all data as well
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is the new approach for storage plugins in Kubernetes?

A
  • based on third party drivers implementing Container Storage Interface
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What does the new storage plugins approach in Kubernetes mean?

A
  • CSI (Container Storage Interface) requires the Kubernetes Operators to download and install the desired CSI driver when needed
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What are some of the Volume Types supported by Kubernetes?

A
  • azure Disk, to mount azure Data Disk on containers of a pod
  • azuFile
  • awsElasticBlockStorage
  • cephfs: mount a CephFS volume on containers of a pod
  • configMap: attack decoupled storage object, encapsulates configuration data, scripts, possibly entire filesystems
  • hostPath: share a directory from the host with containers of a pod
  • persistentVolumeClaim
  • secret: encoded sensitive informations, such as password, keys, certificates, tokens etc
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What does the persistent volume subsystem enable?

A
  • provides APIs to manage and consume storage
  • for management of volumes PersistentVolume (PV) is used
  • for consumation of volumes PersistentVolumeClaim (PVC) is used
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What are Persistent volumes (PVs) in Kubernetes? How are they provisioned?

A
  • piece of storage in the cluster
  • provisioned either by an administrator (statically) or dynamically using Storage Classes
  • resource in a cluster just like node is as cluster resource
  • are Volume plugins like regular volumes
  • but lifecycle is independent of any inidividual pods that use PV
  • API object captures details of the implementation of the storage
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

How does the dynamic storage provisioning of PV in Kubernetes work abstractly?

A
  • by using the Storage Class resource
  • via a PersistentVolumeClaim a user sends a request for dynamic PV creation, which gets wired to the StorageClass resource
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What is a Persistent Volume Claime (PVC) in Kubernetes?

A
  • request for storage by a user
  • users request for PV resource based on size, access modes and volume type
  • once a suitable PV is found, it is bound to PVC
  • after a successful bind, the PVC can be used in a Pod to allow the containers access to the PV
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What are the steps for PVC-request by users in Kubernetes?

A
  1. Dynamic or static provisioning of PVs
  2. user requests a claim (PVC)
  3. Once suitable PV is found, PV is bound to PVC
  4. after successful bind the PVC is mounted to a pod to allow containers access to the PV
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What happens to a PV after a user is done with their activities?

A
  • when the pod is deleted, the PVC may be detached from the PV
  • thus the PV is released for future use
  • once released the PV can either be deleted, retained, or recycled for future usage
  • based on the reclaim policy the user has defined on the PV
17
Q

What benefit do open source Storage interfaces, that are not available as Kubernetes native storage plugins have?

A
  • no vendor-lock-in
  • decoupling of applications from underlying storage infrastructure
  • ability to move clusters between infrastructure without impacting the application or need for manual configuration
18
Q

What are options for open source storage interfaces?

A
  • Rook
  • Longhorn
19
Q

What is Container Storage Interface (CSI) and what are its goals?

A
  • standardization of volume interfaces
  • aim: same volume plugin works with different container orchestrators out of the box
20
Q

What is the role of CSI?

A
  • maintain the CSI specification
  • maintain the protobuf, a protocol buffer language and platform-neutral, that serialized structured data
21
Q

What is the goal of the CSI specification?

A
  • define APIs for dynamic provisioning, attaching, mounting, consumption and snapshot management of storage volumes
  • additionally: define plugin configuration steps to be taken by container orchestrator, together with deployment configuration options
22
Q
A