Learning Kubernetes
A guide to administering and using Kubernetes clusters declaratively
Examples of clusters and Helm charts / releases have been moved to https://github.com/ilyasotkov/exekube.
⚗️ Labs
Lab 0: Background information
- What is Kubernetes? What are the benefits of using Kubernetes?
- Compare Kubernetes to deploying software directly onto bare metal or virtual machines
- Goals and principles of this Kubernetes guide
Lab 1: Create and upgrade a Kubernetes cluster
📋 Lab Overview: How do I create a Kubernetes cluster and how do I maintain it?
Lab 2: Get your cluster ready for production
- Authentication: allow access to cluster resources
- Authorization: limit access to cluster resources
- Persistent storage
- Networking, load balancing, and ingress management
- Monitoring and alerting
- Continous Integration (CI) tools
Lab 3: Deploy software onto your cluster
📌 Goals
- Learn to set up and administer Kubernetes clusters of any scale
- Establish a smooth declarative workflow for deploying containerized applications and services to Kubernetes clusters
- Get familiar with the Kubernetes Docs at https://kubernetes.io/docs
- Read real-world case studies
🔗 Quick Links
Description | Address |
---|---|
Kubernetes Documentation | https://kubernetes.io/docs |
Kubernetes API Reference | https://kubernetes.io/docs/api-reference/v1.8/ |
Helm Documentation | https://docs.helm.sh/ |
ramitsurana/awesome-kubernetes | https://github.com/ramitsurana/awesome-kubernetes |
✅ Updates and news
-
🎉 Kubernetes News: Kubernetes will be integrated into Docker alongside Docker Swarm mode in Docker for Mac. Read: https://blog.docker.com/2017/10/kubernetes-docker-platform-and-moby-project/
-
📖 A comprehensive article about approaches and future approaches to managing Kuberntes applications declaratively: https://docs.google.com/document/d/1cLPGweVEYrVqQvBLJg6sxV-TrE5Rm2MNOBA_cxZP2WU/edit?usp=sharing -
🐳 Alternative native deployment solution, Docker Swarm mode: