Links and resources used by the Introduction to Kubernetes DevOps Learning Journey course.
@Todo: Windows users: Please fill in the Windows installation prerequisites.
To generate Table of contents, do:
	npm update
	./node_modules/markdown-toc/cli.js --no-firsth1 README.md- Notes
- Mac: Install Prerequisites
- Windows: Install Prerequisites
- Classroom
- What is Kubernetes
- Get Started: Local Kubernetes
- Azure Kubernetes Connect
- Kubernetes Connect
- (Azure) Kubernetes Connect 101
- Go, gRPC and Kubernetes (Optional)
- Kubernetes 101 (1st section)
- Kubernetes 101 (2nd section)
- Kubernetes 101 (3rd section - Optional/extra credit)
- Azure Kubernetes 201
- Kubernetes Dashboard
- Wordpress on Kubernetes
- Elastic Search on K8s
- Kubernetes Stateful Application
- Kubernetes Configmap
- Kubernetes & Prometheus (Metrics)
- SPIFFE Secure Certificate Example (Optional)
- Kubernetes Secrets
- K8s Networking Explained (Optional)
- Minikube CICD on Jenkins
- Artifactory on Kubernetes
- Deploy Cassandra with Stateful Sets
- Helm (Package manager) on Kubernetes
 
- Additional Resources
If you have VPN connected, you may encounter problems with your local docker connecting to a remote registry. Disconnect from VPN and then restart your terminal before continuing.
- Mac users should be able to download most tools and utilities using brew.
- Windows users may be able to download many tools and utilities using Chocolatey.
- 
Install Xcode from the App Store, or from Apple Developer Downloads 
- 
Install Homebrew using the following command: /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
- 
Install Tools and Utilities: - kubectl, minikube, Docker, Vagrant, VirtualBox, Docker Compose, Docker Machine, Docker Machine driver xhyve, Azure-CLI, and NodeJS.
 brew cask install docker brew cask install minikube brew cask install vagrant brew cask install virtualbox brew install kubernetes-cli brew install docker-compose brew install docker-completion brew install docker-compose-completion brew install docker-machine-driver-xhyve brew install azure-cli brew install nodejs 
- 
Set the preferences for the docker machine driver: sudo chown root:wheel $(brew --prefix)/opt/docker-machine-driver-xhyve/bin/docker-machine-driver-xhyve sudo chmod u+s $(brew --prefix)/opt/docker-machine-driver-xhyve/bin/docker-machine-driver-xhyve 
...
Introduction reading and video:
- Minikube Tutorial
- Install Hypervisor (Virtualbox, etc)
- Stand up minikube and test
- Deploy an Azure Container Service (AKS) cluster - Will not currently work for connected cloud subscriptions.
- Login to Azure
- Download CLI and Login with CLI
- Create a cluster or use existing cluster created earlier.
- Execute the nginx example.
- Tutorial: Prepare application for Azure Container Service (AKS)
- Tutorial: Deploy and use Azure Container Registry
- Note: If creating a registry in Azure is not possible, consider using your own public registry/repos in Docker Hub.
 
- Create container images and run voting app locally. -- requires docker compose.
- Upload voting app images to container registry created in step 2.
- Getting Started with Microservices using Go, gRPC and Kubernetes
- Source code for Getting Started with Microservices using Go, gRPC and Kubernetes
- Define Simple Services
- Comm protocol
- Common Divisor Services
- Frontend API Service
 
- Build Docker Images
- Deploy to K8s Cluster
- 
Clone workshop Repo git clone https://github.com/gravitational/workshop.git 
- 
Classroom work: Running Nginx - Standup Nginx
- Curl service from Tutum container
- Explore within the container
 
- 
Follow sections: - Running nginx
- Pod IPs
- Pod Containers
 
- 
Clone workshop Repo git clone https://github.com/gravitational/workshop.git 
- 
Classroom work sections: - Deployments and Replicasets
- Services
- Back to Deployments
- Configuration management basics
 
- 
Clone workshop Repo git clone https://github.com/gravitational/workshop.git 
- 
Sections: Connecting Services 
Note: Requires a private registry locally or use of cloud registry, such as Docker Hub.
- Tutorials #3-5, Run and scale application exercises.
- Tutorials 6 and 7 require docker-compose.
- 3: Deploy an Azure Container Service (AKS) cluster
- 4: Run applications in Azure Container Service (AKS)
- 5: Scale application in Azure Container Service (AKS)
- Caution: Scaling nodes could come with some risk in the Class Azure subscription. Such as losing connection to your K8s master in your cluster. This happened to one engineer in DLJ#1 class. Cause unknown.
 
- 6: Update an application in Azure Container Service (AKS)
- 7: Monitor Azure Container Service (AKS)
- Tunnel to a local version of the kubernetes dashboard
- Expose and edit two services within the kubernetes dashboard
- Create persistent volume
- Create secret for MySQL password
- Launch Wordpress
- 
Clonse the examples repo 
- 
Deploy elasticsearch 
- 
Verify functionality 
- 
Clone Kubernetes Examples repo git clone git@github.com:kubernetes/examples.git 
- 
Follow Elastic Search Tutorial Bonus: 
- 
Deploy production ready cluster git clone git@github.com:pires/kubernetes-elasticsearch-cluster.git 
- 
Bonus #2: Expose Kibana 
- Stand up and watch stateful mysql instances
- Query and verify connectivity
- Create Configmap
- Consume Configmap in environment variables
- Set command line using Configmap
- Consume Configmap in Volume
- 
Use wget to get the files for the exercise... wget http://pwittrock.github.io/docs/user-guide/configmap/configmap.yaml wget http://pwittrock.github.io/docs/user-guide/configmap/env-pod.yaml wget http://pwittrock.github.io/docs/user-guide/configmap/command-pod.yaml wget http://pwittrock.github.io/docs/user-guide/configmap/volume-pod.yaml wget http://pwittrock.github.io/docs/user-guide/configmap/mount-file-pod.yaml 
- 
Then apply using: (for example...) kubectl create -f configmap.yaml 
- Stand up Prometheus
- Gather and monitor metrics
- Install Virtual Box & Vagrant
- Standup K8s vagrant machines
- Run demo
- Create Secret config file and pods
- Install and Launch Vault
- (Optional) Challenge: Replicate Vault Secrets into Kubernetes
- Docker Networking Example
- CNI Basics
- Requires access to Kubernetes host if not using minikube
 
- Install Prerequisites (Node, etc)
- Setup Jenkins
- (Optional) Puzzle App Part 1
- (Optional) Puzzle App Part 2
- Create Cassandra Headless Service
- Create a Cassandra Ring
- Validate the Stateful Set
- Modify the Stateful Set
- Verify Helm is working
- Install nginx-ingress
- Curated list for awesome kubernetes sources
- Kubernetes by Example - A hands-on introduction to Kubernetes
- kubectl Reference Cheat Sheet
- Kubernetes Community Resources
- Kubernetes Community Resources - Cheat Sheet
- Configure Access to Multiple Clusters
- Running Kubernetes in Azure - Basic information on options available.
- Deploy a Kubernetes Cluster using ACS-Engine - Getting started information.
- Azure ACS-Engine Examples and Walkthroughs