Sample codes to create different storage types in Kubernetes

Kubernetes Types of Storage.

In my previous article I talk about sample codes for kubernetes persistent storage using NFS, today I have add other storage types that can be use in Kubernetes and sample codes. You can use kubectl get storageclass to get list of storage class you already have configured.

###### Fast speed storage classification #######

apiVersion: storage.k8s.io/v1

kind: StorageClass

metadata:

  name: fast

provisioner: kubernetes.io/gce-pd

parameters:

  type: pd-ssd


##### Low speed storage classification ######

apiVersion: storage.k8s.io/v1

kind: StorageClass

metadata:

  name: slow

provisioner: kubernetes.io/gce-pd

parameters:

  type: pd-standard

 

###### Dynamic provisioning persistanct storage claim ######

apiVersion: v1

kind: PersistentVolumeClaim

metadata:

  name: claim1

spec:

  accessModes:

    - ReadWriteOnce

  storageClassName: fast

  resources:

    requests:

      storage: 30Gi

 

############ FOR AWS ######################

kind: StorageClass

apiVersion: storage.k8s.io/v1

metadata:

  name: gp2

  annotations:

    storageclass.kubernetes.io/is-default-class: "true"

provisioner: kubernetes.io/aws-ebs

parameters:

  type: gp2

  fsType: ext4

#########################################

kind: PersistentVolumeClaim

apiVersion: v1

metadata:

name: my-pv-claim

spec:

accessModes:

- ReadWriteOnce

resources:

requests:

storage: 1Gi

---

kind: Pod

apiVersion: v1

metadata:

name: task-pv-pod

spec:

volumes:

- name: my-pv-storage

persistentVolumeClaim:

claimName: my-pv-claim

containers:

- name: task-pv-container

image: nginx

ports:

- containerPort: 80

name: "http-server"

volumeMounts:

- mountPath: "/usr/share/nginx/html"

name: my-pv-storage

 

###### Creating a Storage Class AWS EBS ############

kind: StorageClass

apiVersion: storage.k8s.io/v1

metadata:

  name: standard

provisioner: kubernetes.io/aws-ebs

parameters:

  type: gp2

reclaimPolicy: Retain

mountOptions:

  - debug

 

####### Creating a Persistent Volume Claim AWS ##########

 

kind: PersistentVolumeClaim

apiVersion: v1

metadata:

  name: task-pv-claim

spec:

  storageClassName: standard

  accessModes:

    - ReadWriteOnce

  resources:

    requests:

      storage: 1Gi

             

######### Deploying a Persistent Volume ##########

kind: Pod

apiVersion: v1

metadata:

  name: task-pv-pod

spec:

  volumes:

    - name: task-pv-storage

      persistentVolumeClaim:

       claimName: task-pv-claim

  containers:

    - name: task-pv-container

      image: nginx

      ports:

        - containerPort: 80

          name: "http-server"

      volumeMounts:

        - mountPath: "/usr/share/nginx/html"

          name: task-pv-storage

Comments

Popular posts from this blog

Push command for NetWorker Client Upgrade

Factors Affecting Users’ Sense of Security and Trust in Integrating Electronic health record to the cloud

Basic Elastic Cloud Storage Troubleshooting Commands