Scaling and Monitoring an Application

Introduction to Kubernetes

Frank Heilmann

Platform Architect and Freelance Instructor

Scaling on Kubernetes

Scaling on Kubernetes

  • Scaling is a technique to add (scale up) or remove (scale down) resources:
    • Scale up: react to increasing load
    • Scale down: save resources
  • Scaling the number of Pods is easy:
    • Either change the number of replicas in the Manifest and re-apply,
    • Or use the command kubectl scale deployment ...
    • with --replicas <number>
Introduction to Kubernetes

Scalability and Cloud Nativeness

  • An application needs to be designed for scalability
  • Legacy applications, in particular monoliths, are typically not scalable in the way shown here
  • Modern, cloud native applications are designed with the the goal to be easily scalable
Introduction to Kubernetes

Monitoring an Application

  • Monitoring: observing applications in real-time
    • Enables reaction to all kind of problems
  • Examples of modern monitoring application for Kubernetes:
    • Prometheus, Grafana, or kubectl
  • Here, we use kubectl for basic monitoring tasks
  • Typical command: kubectl get <object to be monitored>
  • Example 1: kubectl get pods returns all pods
  • Example 2: kubectl get services returns all services
Introduction to Kubernetes

Let's practice!

Introduction to Kubernetes

Preparing Video For Download...