Your cart is currently empty!
Kubernetes: Volumes
emptyDir
Volume tipe emptyDir merupakan sebuah shared folder yang hidup dalam sebuah pod. Jika sebuah pod gugur, maka data pada emptyDir juga akan ikut hilang. Namun jika container yang mengalami kegagalan, data pada emptyDir tidak akan hilang.
Yang dapat mengakses shared folder ini adalah container-container di dalam pod tersebut. Volume tipe ini biasanya digunakan untuk 1. File sharing antara container dalam sebuah pod. 2. Memory disk (tmpfs) yang dapat diakses oleh host.
apiVersion: v1
kind: Pod
metadata:
name: pod-example
spec:
containers:
- name: web
image: nginx
volumeMounts:
- mountPath: /app
name: emptydir-vol
- name: db
image: redis
volumeMounts:
- mountPath: /app
name: emptydir-vol
volumes:
- name: emptydir-vol
# emptyDir: {}
emptyDir:
medium: Memory
sizeLimit: 1Gi
hostPath
Volume tipe hostPath merupakan sebuah shared folder yang hidup dalam sebuah node. Shared folder dan isinya akan tetap bisa di akses setelah pod-nya gugur.
Yang dapat mengakes shared folder ini adalah container-container dari pod yang hidup di dalam node tersebut. Pod yang memiliki tugas yang sama tetapi hidup di node yang berbeda, tidak dapat mengakses shared folder dari node lainnya.
apiVersion: v1
kind: Pod
metadata:
name: pod1
spec:
containers:
- name: web
image: nginx
volumeMounts:
- mountPath: /app
name: hostpath-vol
volumes:
- name: hostpath-vol
hostPath:
path: /app
---
apiVersion: v1
kind: Pod
metadata:
name: pod2
spec:
containers:
- name: web
image: nginx
volumeMounts:
- mountPath: /app
name: hostpath-vol
volumes:
- name: hostpath-vol
hostPath:
path: /app
NFS
apt update
apt install nfs-common
apiVersion: v1
kind: Pod
metadata:
name: pod-example
spec:
containers:
- name: web
image: nginx
volumeMounts:
- mountPath: /app
name: nfs-vol
volumes:
- name: nfs-vol
nfs:
server: <your-nfs-ip-address>
path: <your-nfs-mount-path>
iSCSI
apiVersion: v1
kind: Pod
metadata:
name: pod-example
spec:
containers:
- name: web
image: nginx
volumeMounts:
- mountPath: /app
name: iscsi-vol
volumes:
- name: iscsi-vol
iscsi:
targetPortal: <your-portal-ip-address>
iqn: <your-iqn>
lun: <lun-number> # 0, 1, ...
fsType: ext4
readOnly: true # Set to 'false' if read and write
References:
Leave a Reply