From 08e96defa6b514f6afa7e3be2d611b359cd71aee Mon Sep 17 00:00:00 2001 From: akhil90s <46933461+akhil90s@users.noreply.github.com> Date: Fri, 11 Jun 2021 09:38:03 +0530 Subject: [PATCH] Deployment Vs StatefulSet --- .../Deployment/Deployment.yaml | 54 +++++++++++++++++++ .../Deployment/PersitantVoulumeClaim.yaml | 11 ++++ .../Deployment/Service.yaml | 12 +++++ .../StatefulSets/PersistantVolumeClaim.yaml | 10 ++++ .../StatefulSets/Service.yaml | 13 +++++ .../StatefulSets/StatefulSet.yaml | 28 ++++++++++ 6 files changed, 128 insertions(+) create mode 100644 kubernetes/Deployment_Vs_StatefulSet/Deployment/Deployment.yaml create mode 100644 kubernetes/Deployment_Vs_StatefulSet/Deployment/PersitantVoulumeClaim.yaml create mode 100644 kubernetes/Deployment_Vs_StatefulSet/Deployment/Service.yaml create mode 100644 kubernetes/Deployment_Vs_StatefulSet/StatefulSets/PersistantVolumeClaim.yaml create mode 100644 kubernetes/Deployment_Vs_StatefulSet/StatefulSets/Service.yaml create mode 100644 kubernetes/Deployment_Vs_StatefulSet/StatefulSets/StatefulSet.yaml diff --git a/kubernetes/Deployment_Vs_StatefulSet/Deployment/Deployment.yaml b/kubernetes/Deployment_Vs_StatefulSet/Deployment/Deployment.yaml new file mode 100644 index 0000000000..d463dd6dee --- /dev/null +++ b/kubernetes/Deployment_Vs_StatefulSet/Deployment/Deployment.yaml @@ -0,0 +1,54 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: web-app-deployment +spec: + strategy: + type: RollingUpdate + rollingUpdate: + maxSurge: 2 + maxUnavailable: 1 + selector: + matchLabels: + app: web-app + replicas: 3 + template: + metadata: + labels: + app: web-app + spec: + containers: + - name: web-app + image: hello-world:nanoserver-1809 + volumeMounts: + - name: counter + mountPath: /app/ + volumes: + - name: counter + persistentVolumeClaim: + claimName: counter +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: counter +spec: + accessModes: + - ReadWriteMany + resources: + requests: + storage: 50Mi + storageClassName: default +--- +apiVersion: v1 +kind: Service +metadata: + name: web-app-service +spec: + ports: + - name: http + port: 80 + nodePort: 30080 + selector: + name: web-app + type: NodePort diff --git a/kubernetes/Deployment_Vs_StatefulSet/Deployment/PersitantVoulumeClaim.yaml b/kubernetes/Deployment_Vs_StatefulSet/Deployment/PersitantVoulumeClaim.yaml new file mode 100644 index 0000000000..99bbb5d555 --- /dev/null +++ b/kubernetes/Deployment_Vs_StatefulSet/Deployment/PersitantVoulumeClaim.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: counter +spec: + accessModes: + - ReadWriteMany + resources: + requests: + storage: 50Mi + storageClassName: default diff --git a/kubernetes/Deployment_Vs_StatefulSet/Deployment/Service.yaml b/kubernetes/Deployment_Vs_StatefulSet/Deployment/Service.yaml new file mode 100644 index 0000000000..eabb12c0e0 --- /dev/null +++ b/kubernetes/Deployment_Vs_StatefulSet/Deployment/Service.yaml @@ -0,0 +1,12 @@ +apiVersion: v1 +kind: Service +metadata: + name: web-app-service +spec: + ports: + - name: http + port: 80 + nodePort: 30080 + selector: + name: web-app + type: NodePort diff --git a/kubernetes/Deployment_Vs_StatefulSet/StatefulSets/PersistantVolumeClaim.yaml b/kubernetes/Deployment_Vs_StatefulSet/StatefulSets/PersistantVolumeClaim.yaml new file mode 100644 index 0000000000..59f137cff1 --- /dev/null +++ b/kubernetes/Deployment_Vs_StatefulSet/StatefulSets/PersistantVolumeClaim.yaml @@ -0,0 +1,10 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: myclaim +spec: + accessModes: + - ReadWriteMany + resources: + requests: + storage: 5Gi diff --git a/kubernetes/Deployment_Vs_StatefulSet/StatefulSets/Service.yaml b/kubernetes/Deployment_Vs_StatefulSet/StatefulSets/Service.yaml new file mode 100644 index 0000000000..80e5b50665 --- /dev/null +++ b/kubernetes/Deployment_Vs_StatefulSet/StatefulSets/Service.yaml @@ -0,0 +1,13 @@ +apiVersion: v1 +kind: Service +metadata: + name: nginx + labels: + app: nginx +spec: + ports: + - port: 80 + name: web + clusterIP: None + selector: + app: nginx diff --git a/kubernetes/Deployment_Vs_StatefulSet/StatefulSets/StatefulSet.yaml b/kubernetes/Deployment_Vs_StatefulSet/StatefulSets/StatefulSet.yaml new file mode 100644 index 0000000000..4ff4baca8c --- /dev/null +++ b/kubernetes/Deployment_Vs_StatefulSet/StatefulSets/StatefulSet.yaml @@ -0,0 +1,28 @@ +apiVersion: apps/v1 +kind: StatefulSet +metadata: + name: web +spec: + selector: + matchLabels: + app: nginx + serviceName: "nginx" + replicas: 3 + template: + metadata: + labels: + app: nginx + spec: + containers: + - name: nginx + image: nginx + ports: + - containerPort: 80 + name: web + volumeMounts: + - name: www + mountPath: /usr/share/nginx/html + volumes: + - name: www + persistentVolumeClaim: + claimName: myclaim