Helm contd..
Sprig functions
- Since helm uses go templating we can use the functions
Built in objects
Cheatsheet
- Refer Here for helm cheatsheet
- Refer Here for the changes done to include label
- Refer Here for changes with looping constructs
-
If helm chart is giving issues try generating normal yaml files
helm template my-release ./path-to-local-chart --output-dir ./output-folder
Persistent Volumes in K8s
- K8s supports 3 types of storage volumes
- block storage (aws ebs, azure managed disk …)
- nfs storage (aws efs, azure files, netapp )
- local storage
- K8s uses CSI (Container Storage Interface)
- K8s has Persistent volumes (PV) Refer Here. PV can exist even after pod is deleted.
- K8s supports two ways of using PVs
- Static provisioning
- Dynamic Provisioning
- K8s Pod will create PersistentVolumeClaim (PVC) which is kind of request and k8s with the help of CSI driver will create a volume (PV) and that gets bound to a pod.
- Lets consider the following mysql pod
apiVersion: v1
kind: Pod
metadata:
name: mysql
labels:
app: mysql
spec:
containers:
- name: mysql
image: mysql:9
env:
- name: MYSQL_ROOT_PASSWORD
value: "password" # Replace with your desired root password
ports:
- containerPort: 3306
- Access modes: Refer Here
- Refer Here for azure example
