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

Kubernetes: The Operating System for the Cloud

Kubernetes: The Operating System for the Cloud

Eddie Zaneski

February 25, 2021
Tweet

More Decks by Eddie Zaneski

Other Decks in Technology

Transcript

  1. © 2020, Amazon Web Services, Inc. or its Affiliates. Eddie

    Zaneski Senior Developer Advocate @AWS @eddiezane Kubernetes The Operating System for the Cloud
  2. © 2020, Amazon Web Services, Inc. or its Affiliates. Your

    Experience 0: You are not using Kubernetes and don’t plan to 1: You are just starting on your Kubernetes journey . . . 5: You have been running Kubernetes in production for a few years
  3. © 2020, Amazon Web Services, Inc. or its Affiliates. Agenda

    • Kubernetes -- what are you? • A short story • Advice on embarking
  4. © 2020, Amazon Web Services, Inc. or its Affiliates. What

    is a container? “A container is a standard unit of software that packages up code and all its dependencies so the application runs quickly and reliably from one computing environment to another.” – Docker https://www.docker.com/resources/what-container
  5. © 2020, Amazon Web Services, Inc. or its Affiliates. What

    is a container? “A container is a standard unit of software that packages up code and all its dependencies so the application runs quickly and reliably from one computing environment to another.” – Docker https://www.docker.com/resources/what-container
  6. © 2020, Amazon Web Services, Inc. or its Affiliates. Container

    Evolution https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/
  7. © 2020, Amazon Web Services, Inc. or its Affiliates. Container

    Evolution https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/
  8. © 2020, Amazon Web Services, Inc. or its Affiliates. Container

    Evolution https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/
  9. © 2020, Amazon Web Services, Inc. or its Affiliates. What

    is Kubernetes? • Kubernetes is a container orchestration system which started as an open source project from Google. • Heart of the “Cloud Native” movement. • Designed to run everywhere from on-premises to the cloud. • Automatic scaling and self-healing. • Innovative declarative resource model.
  10. © 2020, Amazon Web Services, Inc. or its Affiliates. Architecture

    https://kubernetes.io/docs/concepts/overview/components/
  11. © 2020, Amazon Web Services, Inc. or its Affiliates. Architecture

    https://kubernetes.io/docs/concepts/overview/components/
  12. © 2020, Amazon Web Services, Inc. or its Affiliates. Architecture

    https://kubernetes.io/docs/concepts/overview/components/
  13. © 2020, Amazon Web Services, Inc. or its Affiliates. Architecture

    https://kubernetes.io/docs/concepts/overview/components/
  14. © 2020, Amazon Web Services, Inc. or its Affiliates. Architecture

    https://kubernetes.io/docs/concepts/overview/components/
  15. © 2020, Amazon Web Services, Inc. or its Affiliates. Architecture

    https://kubernetes.io/docs/concepts/overview/components/
  16. © 2020, Amazon Web Services, Inc. or its Affiliates. Pod

    A pod is the basic unit of Kubernetes. It generally represents a container. Most resources have 4 fields: • apiVersion • kind • metadata • spec Don’t create these yourself.
  17. © 2020, Amazon Web Services, Inc. or its Affiliates. Deployment

    A deployment represents a single app/service. This is the most common resource you’ll use. Completely isolated from other deployments by default. Notice the spec.template field is the same as the pod.
  18. © 2020, Amazon Web Services, Inc. or its Affiliates. Service

    A service is how we make deployments accessible inside and outside our cluster. Three different types: • ClusterIP • NodePort • LoadBalancer
  19. © 2020, Amazon Web Services, Inc. or its Affiliates. Where

    we’re at now • More mature with options • Increasingly complicated yet easier • Persistent storage is better • KEPs • Many fun problems still to solve
  20. © 2020, Amazon Web Services, Inc. or its Affiliates. Home

    Lab • Extremely easy and inexpensive to get started with • Experiment and learn without risk • Play with the latest and greatest • K3s, Longhorn, PiHole, Home Assistant, etc
  21. © 2020, Amazon Web Services, Inc. or its Affiliates. Join

    the Community • Welcoming and inclusive • Contributions come in all shapes and sizes • https://git.io/JtFfE • https://www.kubernetes.dev • https://slack.k8s.io
  22. © 2020, Amazon Web Services, Inc. or its Affiliates. Use

    Managed Services • Kubernetes, databases, etc • Figure out how much operational work you want to take on • Focus on building and not maintaining
  23. © 2020, Amazon Web Services, Inc. or its Affiliates. Learn

    the Resource Model • Everything is an API • Group Version Resource (GVR) • https://kubernetes.io/docs/reference/kubernetes-api/ • kubectl explain • kubectl -v 7
  24. © 2020, Amazon Web Services, Inc. or its Affiliates. Extend

    • Custom Resource Definitions (CRDs) • Admission Webhooks • Build a controller – https://book.kubebuilder.io/
  25. © 2020, Amazon Web Services, Inc. or its Affiliates. In

    Summary • Take a breath • Start small • Break things • Have fun while doing it • Join the community