Build Systems that Drive Business
30–31 Oct 2018: Training
31 Oct–2 Nov 2018: Tutorials & Conference
London, UK

In-Person Training
Your path to production-ready Kubernetes

Brice Fernandes (Weaveworks)
Tuesday, 30 October & Wednesday, 31 October, 9:00 - 17:00
Location: Hilton Meeting Room 5/6
Average rating: *....
(1.75, 4 ratings)

Participants should plan to attend both days of this 2-day training course. To attend, you must be registered for a Platinum or Training pass; does not include access to tutorials on Wednesday.

You want to get started with Kubernetes but aren't sure how. How do you manage your workloads or alert your team when something goes wrong? Join Brice Fernandes to learn how to configure and run a production-grade Kubernetes environment, covering all the basics from monitoring, alerting, and continuous deployment to DevOps, GitOps, observability, and security.

What you'll learn, and how you can apply it

After this training, attendees will be able to:

  • Deploy applications to a Kubernetes cluster with confidence
  • Instrument existing applications for monitoring
  • Learn how to create dashboards and alerts for Kubernetes workloads, implement tracing and log collection for Kubernetes workloads, and set up and manage continuous deployment on Kubernetes

This training is for you because...

  • You want to get started with Kubernetes.

Prerequisites:

  • Ability to read and write basic programs
  • A working knowledge of Git and the command line

Hardware and/or installation requirements:

  • A laptop with a modern browser installed

You want to get started with Kubernetes but aren’t sure how. How do you manage your workloads or alert your team when something goes wrong? Join Brice Fernandes to learn how to configure and run a production-grade Kubernetes environment, covering all the basics from monitoring, alerting, and continuous deployment to DevOps, GitOps, observability, and security.

Outline

Day 1

Welcome and introduction

Getting started with your environment

  • Logging in
  • Quick tour
  • Talking to Kubernetes

Intro to Kubernetes

  • Kubernetes concepts (nodes, pods, services, and namespaces)

Releasing a Kubernetes service

  • Creating the manifests
  • Using kubectl to apply the service
  • Exposing the service outside the cluster

Monitoring with Prometheus

  • Monitoring versus observability
  • Prometheus
  • Models of monitoring
  • Metrics that matter: RED/USE

Prometheus in practice

  • Instrumenting an application for monitoring
  • Using the Prometheus Query Language
  • Creating dashboards

Advanced Kubernetes

  • Ingress controllers
  • Resource requests and limits
  • Labels, taints, and affinity
  • Rolling updates
  • Readiness probes
  • Disruption budgets
  • Storage with volumes

DevOps and GitOps

  • The GitOps model
  • Git as canonical source of truth
  • Useful properties of GitOps (compliance, auditability, etc.)
  • Separation of privilege

Setting up continuous deployment

  • Setting up CD for dashboards
  • Using grafanlib to generate dashboards

Review and recap

  • Kubernetes basics
  • Running applications and defining services
  • Monitoring with Prometheus
  • GitOps
  • Setting up CD for Kubernetes

Day 2

What is “production ready"?

  • Cluster checklist: What matters in a production cluster
  • App checklist: What matters when releasing an app

Alerts that matter

  • Alerting with Prometheus
  • Helpful dashboards
  • Defining and using a playbook

Observability in Kubernetes

  • Instrumenting code use cases (HPA and Istio Canary)
  • Structured logging aggregation (Fluentd and Prometheus)

Building for observability

  • Logging aggregation with the ELK stack
  • Tracing with OpenTracing and Jaeger

Advanced deployment patterns

  • Canary deploys
  • Blue-green deploys
  • A/B testing

Kubernetes security

  • Restricting operators access to management API
  • Applications RBAC
  • Using Kubernetes security groups
  • Network policies

Implementing security

  • Setting up client certificates
  • Creating roles and RoleBindings
  • Using an external authorization provider with webhooks

Practical recap: Setting up a production cluster from scratch

  • From a cluster with kubernetes only, set up a production-ready cluster and deploy an instrumented application

Wrap-up, Q&A, and further resources

  • Production-ready checklists
  • Observability
  • Deployment patterns
  • Security
  • Things not covered
  • Further resources

About your instructor

Photo of Brice Fernandes

Brice Fernandes is a senior engineer at Weaveworks, where he spends his professional time helping companies understand GitOps and make the most of Kubernetes. Brice fell in love with programming while studying physics and never really looked back. He has a broad technology background that covers everything from embedded C to backendless browser apps using the trendiest JavaScript frameworks. Before joining Weaveworks, he taught game development and functional programming online and founded his own education platform for developers.

Conference registration

Get the Platinum pass or the Training pass to add this course to your package.