Sheharyar Naseer

Self-Healing Applications with Kubernetes

GDG DevFest, Lahore
  • Video
  • Slides

With over 650+ attendees, GDG DevFest is one of Pakistan’s biggest developer conferences. In between hosting and managing the event with my team, I also made time to talk about one of my favorite technologies, Kubernetes.

In this session I talk discuss making your application deployments resilient and fault-tolerant. By keeping in mind some important concepts when designing your app, and defining what constitutes good health, you hand over most other responsibilities to Kubernetes which will make sure that your app is always alive and performing optimally.

Here’s the deployment manifest in the demo above:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: k8s-demo
spec:
  selector:
    matchLabels:
      app: kuard
  template:
    metadata:
      labels:
        app: kuard
    spec:
      containers:
        - image: gcr.io/kuar-demo/kuard-amd64:blue
          name: kuard
          ports:
            - containerPort: 8080
              name: http
              protocol: TCP

          readinessProbe:
            httpGet:
              path: /ready
              port: http
            initialDelaySeconds: 5

          livenessProbe:
            httpGet:
              path: /healthy
              port: http
            initialDelaySeconds: 10
            failureThreshold: 2