Categorygithub.com/googlecloudplatform/kubernetes-workshops
module
0.0.0-20180501174420-d8199445b2c3
Repository: https://github.com/googlecloudplatform/kubernetes-workshops.git
Documentation: pkg.go.dev

# README

Build Status

Kubernetes Workshops

This repository contains both complete workshops, as well as segmented workshop modules that can be combined to create Kubernetes workshops of various lengths and focus.

Modules contain a README.md that walks through the module. If code, configuration, or scrips are needed, it is included and tested.

This is not an official Google product.

Full Workshops

workshopversiondescription
Kubernetes 101v1.2.0Covers the basics of using Kubernetes to manage applications at scale. In this workshop, you'll take an app, build it into a docker container, then use Kubernetes to deploy, scale, and update it. This workshop comes in multiple versions: A video course, a codelab with an accompanying talk, or a set of workshop material with slides.

Individual Modules

NameSlidesLevelTime EstimateCompletion Status
Cluster Bring UpLinkBeginner1 hourReady
QuickstartLinkBeginner1 hourReady
Core Kubernetes ConceptsLinkBeginner4 hoursReady
Storing StateLinkIntermediate2 hoursReady
Advanced ConceptsLinkIntermediate2 hoursReady
Dockerize an AppLinkIntermediate2 hoursDefer
NetworkingLinkIntermediate2 hoursDefer
TroubleshootingLinkIntermediate2 hoursDelay
Putting it all togetherLinkAdvanced2 hoursDelay

Status: Not Started --> In Progress --> Draft --> Ready

Overview of Modules

This is incomplete. These are just brainstorming / rough notes.

Quickstart

  • Quick
  • Not complex, uses kubectl run, kubectl expose.
  • Demonstrates the ease of using Kubernetes without learning all the concepts and config files up front.

Cluster Bring Up

  • Uses the open source kubernetes release with cluster/kube-up.sh for cloud bringup
  • Option for local docker

Core Kubernetes Concepts

  • Introduce one concept at a time, and then use that concept
    • Order: pod, service, rc, deployment
  • go over a declarative pod representation of quickstart app
    • contains 1 pod
  • logs, exec, port forwarding
  • introduce service
  • overview pods, labels, selectors, and services
  • change pod to RC
  • discuss RC
  • scale pod up
  • introduce deployments
  • move everything under a deployment
  • update to new versions of our app, quick rolling update
    • lightweight here - more detail in "Advanced" module

Storing State

  • Deploy an app with MySQL
  • multiple iterations where to store the data, how it goes away
    • start with host volume, end at persistent disk
  • More of a lecture module, slides discuss state in greater length

Dockerize an App

  • Start with an app
  • Write the Dockerfile
  • build
  • push to registry

Advanced Concepts

Networking

  • More of a lecture module, slides discuss networking in greater length

  • Types of external services VIP/nodeport, run service with each and see how we get into the cluster

  • discuss subnets, explore on running nodes

  • How K8s networking works

  • Setting up an external load balancer - Nginx

  • Ideas on how to plug into your environment

Troubleshooting

  • Logging & monitoring
  • Troubleshooting / Debugging

Putting it all together

  • deploy a production ready app

  • Use all the above

  • Build up a significant realistic app

  • ( not so much lecture, just deploy all this stuff: )

  • web frontends, caching, backend jobs, datastore, load testing

  • Logging & monitoring

  • Troubleshooting

  • Autoscaling

Contributing changes

Licensing

# Packages

No description provided by the author
Copyright 2016 Google, Inc Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License.