Introduction

What is Kubernetes

  • Kubernetes (k8s) - popular container orchestrator

  • Container orchestration - make many servers act like one

  • Released by Google in 2015, maintained by large community

  • Runs on top of Docker (usually) as a set of APIs in containers

  • Provides API / CLI to manage containers across servers

  • Many clouds provide it for you

  • Many vendors make a "distribution" of it

Why Kubernetes

  • Orchestration: Next logical step in journey to a faster DevOps

  • First, understand why you may need orchestration, as not every solution needs orchestration

  • Number of servers + change rate = benefits of orchestration

  • Then, decide which orchestrator

  • If Kubernetes, decide which distribution

    • cloud or self-managed (Docker Enterprise, Rancher, OpenShift, Canonical, VMWare PKS)

    • don't usually need pure upstream version of k8s from Github

Kubernetes or Swarm

  • Kubernetes and Swarm are both container orchestrators

  • Boths are solid platforms with vendor backing

  • Swarm: easier to deploy / manage

  • Kubernetes: More features and more flexibility

  • Understand both and know your requirements

Advantages of Swarm

  • Comes with Docker, single vendor platform

  • Easiest orchestrator to deploy / manage yourself

  • Follows 80/20 rules (somewhat), 20% of features compared to k8s cover 80% of use cases

  • Run anywhere Docker does

    • local, cloud, datacenter

    • ARM, Windows, 32-bit, etc

Advantages of Kubernetes

  • Clouds will deploy / manage Kubernetes for you

  • Infrastructure vendors are making their own distributions

  • Widest adoptions and community

  • Flexible: covers widest set of use cases

  • "Kubernetes first" vendor support

  • "No one ever got fired for buying IBM"

    • picking solutions isn't 100% rational

    • trendy, will benefit your career

    • CIO / CTO checkbox

Last updated