create pv & pvc kubernetes from existing nfs server

create pv & pvc kubernetes from existing nfs server

halo sobat sekolahlinux lama tidak update nih, kali ini saya akan sedikit menuliskan tutorial sederhana yaitu create pv & pvc kubernetes from existing nfs server, dalam hal ini saya beranggapan bahwa sobat sudah membuat nfs server nya dengan detail url dibawah

nfs server:

192.168.100.10:/data-nfs/var/www/html
192.168.100.10:/data-nfs/etc/nginx/sites-enabled

selanjutnya kita akan membuat manifest pv & pvc nya, untuk contoh saya akan membuat 2 buah pv & pvc manifest dengan tujuan yg berbeda, kalian bisa lihat dibawah ini

pvc-webrootdir.yaml

apiVersion: v1
kind: PersistentVolume
metadata:
  name: data-web
spec:
  capacity:
    storage: 10Gi
  accessModes:
    - ReadWriteMany
  nfs:
    server: 192.168.100.10
    path: "/data-nfs/var/www/html"

---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: data-web
  namespace: sekolahlinux
spec:
  accessModes:
    - ReadWriteMany
  storageClassName: ""
  resources:
    requests:
      storage: 10Gi

pvc-nginxdir.yaml

apiVersion: v1
kind: PersistentVolume
metadata:
  name: data-nginx
spec:
  capacity:
    storage: 10Gi
  accessModes:
    - ReadWriteMany
  nfs:
    server: 10.179.117.50
    path: "/data-nfs/etc/nginx/sites-enabled"

---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: data-nginx
  namespace: sekolahlinux
spec:
  accessModes:
    - ReadWriteMany
  storageClassName: ""
  resources:
    requests:
      storage: 5Gi

lalu jika sudah jalankan perintah dibawah ini

kubectl apply -f pvc-nginxdir.yaml
kubectl apply -f pvc-webrootdir.yaml

selanjutnya kita akan melihat apakah pvc yang sudah kita apply sudah berhasil dibuat atau belum

katavm@kata-production-controlbox:~$ kubectl get pvc,pv -n monitoring|grep "data-"
persistentvolumeclaim/data-web	  Bound	 data-web    10Gi     RWX      1h
persistentvolumeclaim/data-nginx  Bound	 data-nginx  10Gi     RWX      1h
persistentvolume/data-web         10Gi	 RWX         Retain   Bound    1h
persistentvolume/data-nginx       10Gi	 RWX         Retain   Bound    1h

 

selanjutkan kita akan membuat deployment manifest k8s untuk bisa menggunakan pv & pvc yang telah kita buat diatas

sekolahlinux-wp.yaml

---
apiVersion: v1
kind: Service
metadata:
  name: sekolahlinux-wp-service
  namespace: sekolahlinux
  labels:
    app: sekolahlinux
spec:
  type: LoadBalancer
  ports:
    - name: http
      port: 80
      targetPort: 80
    - name: https
      port: 443
      targetPort: 443
  selector:
    app: sekolahlinux
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: sekolahlinux-wp
  namespace: sekolahlinux
spec:
  revisionHistoryLimit: 2
  strategy:
    type: RollingUpdate
  replicas: 4
  selector:
    matchLabels:
      app: sekolahlinux
  template:
    metadata:
      labels:
        app: sekolahlinux
    spec:
      containers:
      - name: sekolahlinux-wp
        image: richarvey/nginx-php-fpm
        imagePullPolicy: IfNotPresent
        volumeMounts:
        - name: data-web
          mountPath: "/var/www/html"
        - name: data-nginx
          mountPath: "/etc/nginx/sites-enabled"
        ports:
          - containerPort: 80
          - containerPort: 443
      volumes:
      - name: data-nginx
        persistentVolumeClaim:
          claimName: data-nginx
      - name: data-web
        persistentVolumeClaim:
          claimName: data-web

lalu jika sudah jalankan perintah dibawah ini

kubectl apply -f sekolahlinux-wp.yaml

oke sekian dokumentasi saya kali ini, untuk membaca lebih jauh tentang volume pada kubernetes kalian bisa langsung berkunjung ke url dibawah ini

Comments

No comments yet. Why don’t you start the discussion?

Leave a Reply