Getting Started with Google Kubernetes Engine

Introduction to Containers and Docker

Posted by frankie on January 20, 2019

Imgur

Introduction to Containers

Kubernetes Container Engine

Containers

Before: Building applications on individual servers

Imgur

Dedicated server: Application code Dependencies Kernel Hardware -> Deployment ~months, Low utilization and not portable

Imgur Imgur Imgur

Virtual machine: Application code Dependencies Kernel —– Hardware + hypervisor -> Deployment ~days(mins), Improved utilization hypervisor specific Problem: Cannot install the same application or multiple versions of the same application into one single VM: dependency errors, conflicts => many virtual machines

Imgur

Container Application code Dependencies Kernel + Container runtime Hardware -> Deployment ~mins(sec), portable, very efficient

Imgur

Benefits: Code works the same everywhere:

  • Across dev, test, and prod

  • Across bare-metal, VMs, and cloud

  • Packaged apps speed development:

  • Agile creation and deployment

  • Continuous integration/deliver
  • Single file copy

Path to microservices:

  • Introspectable, isolated, and elastic

Imgur

Containers use a layered file system with only the top layer writable

Imgur

Containers promote smaller shared images

In the real world you’ll push and pull your image from a registry

Introduction to Docker

Imgur

Imgur

Imgur

Imgur