Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Kubernetes

 Kubernetes

Slides from the Kubernetes talk at OC Python - 6/5/2018

Avatar for Nihara Thomas

Nihara Thomas

June 07, 2018
Tweet

Other Decks in Technology

Transcript

  1. Agenda • Kubernetes Intro • Why Kubernetes? • Kubernetes concepts

    • How you can start using Kubernetes • Demo • Resources • Q&A
  2. What now? Kubernetes is an open-source system for automating deployment,

    scaling, and management of containerized applications. K8s == Kubernetes
  3. But what’s the problem? • Multi-container, multi-host applications • High

    Availability • Scalability • Ease of Deployment
  4. And Kubernetes helps how? • Open source • Cloud Service

    Provider agnostic • Easy Upgrades and Rollbacks • Self-healing • Horizontal Scaling • Service Discovery and Load Balancing
  5. Kubernetes Objects • Persistent entities in the K8s system •

    Represent the state of your system • You create it, K8s makes sure it’s always there
  6. K8s Objects - Namespace • Help divide cluster resources •

    Provide scope for names - isolation and security
  7. K8s Objects - Deployment • Single instance of an application

    in the K8s system • Specifies containers that need to be run • Container Image and tag • Desired number of replicas
  8. K8s Objects - Replica Set • Ensures that specified number

    of pods are running at any given time • Used by deployment to orchestrate pod creation, deletion and updates
  9. K8s Objects - Pod • Basic building block of K8s

    • Encapsulates a container (or multiple containers) • Defines required storage resources • Specifications on how the container(s) should run
  10. K8s Objects - Service • Abstraction that defines a set

    of pods and policies by which they can be accessed
  11. K8s Objects - Volume • Directory with (or without data)

    that is accessible to the container • Explicit lifetime - same as that of the Pod • Data persists across container restarts
  12. K8s Objects - DaemonSet • Ensures that a Pod is

    run on all K8s nodes • Use case: ◦ Logs collection daemon such as FluentD
  13. K8s Objects - Job • K8s Cron • Job creates

    a pod(s) and ensures that it runs to completion ◦ No image ◦ Can run a command directly ◦ Restarts pod in case of failure ◦ # of successful completions desired can be specified
  14. Interacting with K8s Objects • K8s API directly • Kubectl

    → CLI utility that calls the K8s api for you
  15. Try Kubernetes • Minikube - local K8s cluster ◦ minikube

    start • Deploy K8s cluster on a CSP ◦ K8s the Hard Way - Kelsey Hightower • Self-hosted K8s