/container-bootcamp

SI Container and Kubernetes Bootcamp

Primary LanguageJavaScriptMIT LicenseMIT

Container and Kubernetes Bootcamp

Delivering modern cloud native applications with ​open source technologies on Azure​

Overview

Welcome to our Container Bootcamp, this workshop will guide you through migrating an application from "on-premise" server to containers running in Azure Kubernetes Service.

The labs are based upon a node.js application that allows for voting on the Justice League Superheroes (with more options coming soon). Data is stored in MongoDB.

Note: These labs are designed to run on a Linux CentOS VM running in Azure (jumpbox) along with Azure Cloud Shell. They can potentially be run locally on a Mac or Windows, but the instructions are not written towards that experience. ie - "You're on your own."

Note: Since we are working on a jumpbox, note that Copy and Paste are a bit different when working in the terminal. You can use Shift+Ctrl+C for Copy and Shift+Ctrl+V for Paste when working in the terminal. Outside of the terminal Copy and Paste behaves as expected using Ctrl+C and Ctrl+V.

Labs

Day 1 - Introduction and Presentations

  1. Setup Lab environment
  2. Run app locally to test components
  3. Create Docker images for apps and push to Azure Container Registry

Day 2 - Labs

  1. Create an Azure Kubernetes Service (AKS) cluster
  2. Deploy application to Azure Kubernetes Service
  3. Kubernetes UI Overview
  4. Operational Monitoring and Log Management
  5. Upgrade an Azure Kubernetes Service (AKS) cluster
  6. Application and Infrastructure Scaling
  7. Moving your data services to Azure PaaS (CosmosDB)
  8. Update and Deploy New Version of Application

Day 3/ 4 - Labs

  1. Try CI/CD Automation with Brigade or CI/CD Automation with Azure DevOps
  2. Kubernetes Ingress Controllers
  3. Kubernetes InitContainers
  4. Kubernetes Persistent Volumes with Azure Disks
  5. Azure Service Broker
  6. Azure Container Instances and ACI Connector
  7. Manage AKS with Weave

Contributing

This project is a fork of our Azure GBB Hackfest workshop with necessary modifications and additions to suit the BootCamp. We as well as the original project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.

License

This software is covered under the MIT license. You can read the license [here][license].

This software contains code from Heroku Buildpacks, which are also covered by the MIT license.

This software contains code from Helm, which is covered by the Apache v2.0 license.

You can read third-party software licenses [here][Third-Party Licenses].