Valuable Kubernetes tutorials from multiple sources, classified into the following categories: Kubernetes AWS and Azure tutorials, networking tutorials, clustering and federation tutorials and more
Kubernetes is an open source container orchestration platform developed by Google for managing microservices or containerized applications across a distributed cluster of nodes. Kubernetes is highly resilient and supports zero downtime, rollback, scaling, and self-healing of containers. The main objective of Kubernetes is to hide the complexity of managing a fleet of containers. It can run on bare metal machines or on public or private cloud platforms such as AWS, Azure and OpenStack. Kubernetes architecture follows a client-server architecture.
Main Components of the Kubernetes Master Server
etcd cluster – a distributed key value storage that stores Kubernetes cluster data
kube-apiserver – the central management entity that receives all REST requests for modifications to cluster elements
kube-controller-manager – runs controller processes like replication controller (sets number of replicas in a pod) and endpoints controller (populates services, pods and other objects)
cloud-controller-manager – responsible for managing controller processes with dependencies on the underlying cloud provider
kube-scheduler – helps schedule the pods (a co-located group of containers inside which our application processes are running) on the cluster nodes based on resource utilization
Main components of the Kubernetes Node (Worker) Server
kubelet – the main service on a node, taking in new or modified pod specifications from kube-apiserver, and ensuring that pods and containers are healthy and running
kube-proxy – runs on each worker node to deal with individual host subnetting and expose services
kubectl is a command line tool that interacts with kube-apiserver and send commands to the master node. Each command is converted into an API call.
High level Kubernetes architecture showing a cluster with a master and two worker nodes (image source)
Kubernetes Tutorials
Kubernetes is a complex system, and learning step by step is the best way to gain expertise. In this page we’re compiled all the valuable Kubernetes tutorials from multiple sources – from the big players like Google, Amazon and Microsoft, to individual bloggers and community members. Tutorials are classified into the following categories:
Kubernetes AWS and Azure tutorials – showing deployment on the popular public clouds, including kops, an official Kubernetes project that can help deploy production-grade clusters on AWS
AWS re:Invent 2017: Mastering Kubernetes on AWS In this video, Arun Gupta, open source strategist for AWS and Raffaele Di Fazio, software engineer at Zalando, show common practices for running Kubernetes on AWS and share insights from experience in operating tens of Kubernetes clusters in production on AWS.
Scale Kubernetes on AWS – technical webcast In this technical webcast, Shrinand Javadekar and Abhinav Das discuss their experiences running Kubernetes at scale on AWS, including problems they encountered, tips and best practices.
Deploy, Troubleshoot and Control Kubernetes Powered Containers and Microservices on AWS In this webinar Chris Hein from AWS and Stuart Williams from Weaveworks explore how Weaveworks utilizes Kubernetes and AWS to achieve greater development velocity without giving up control and operational efficiencies. They also cover how Weaveworks architected a fully cloud-native application based on Kubernetes and Prometheus on AWS.
Kubernetes Helm: Why It Matters Roopak Parikh Co-Founder and CTO of Platform9, talks about why Kubernetes Helm makes application deployment easy, standardized and reusable and why the use of Kubernetes Helm leads to better developer productivity, reduced Kubernetes deployment complexity and enhanced enterprise production readiness.
Intro to Helm for Kubernetes What Helm is and how it works. This session by Codefresh will have some fun in the terminal as well as the Codefresh UI to help us make sense of everything.
Delve into Helm: Advanced DevOps At KubeCon 2017, core maintainer for the Kubernetes Helm project Adam Reese and a cloud evangelist Lachlan Evenson delve into the depths of Helm, focusing on lifecycle management and continuous delivery (CI/CD) of Kubernetes-native applications in different environments and how to extend Helm’s capabilities with plugins and add-ons.
Services Overview This video is a brief overview of the service abstraction, why it’s needed and how to specify pods in a service.
Understanding Service Discovery Teaches you how to use services to securely expose pods to internal and external consumers. Covers service discovery through environment variables and through DNS. Describes the differences between ClusterIP, NodePort, and LoadBalancer service types.
Kubernetes Federation Discusses the kind of problems Kubernetes Federation helps solve and how.
Securing Cluster Networking with Network Policies Covers use cases for network policies, the Network Policy API, how to configure network policies, and how the configured policies are enforced. Also covers other methods to secure applications at network and application layers, and how Network Policies relate to service mesh projects such as Istio.
Networking with Kubernetes Covers the networking options in Kubernetes and types of communications through Kubernetes services.
Understanding Service Discovery Covers services in Kubernetes, how service discovery works through environment variables and through DNS. Also describes the various types of services like ClusterIP, NodePort, and LoadBalancer.
Kubernetes Beginner Tutorials
The Kubernetes Bible for Beginners & Developers – Level Up
Kubernetes is a powerful open-source system that was developed by Google. It was developed for managing containerized applications in a clustered environment. Kubernetes has gained popularity and is becoming the new standard for deploying software in the cloud. Learn Kubernetes in a simplified way. The article covers Kubernetes’ basic concepts, architecture, how it solves the problems, etc. Read the article on level-up.one
Kubernetes Tutorial: Getting Started with Containers & Clusters | Codeship
Kubernetes is a highly popular open-source container management system. The goal of the Kubernetes project is to make management of containers across multiple nodes as simple as managing containers on a single system. In this tutorial, you’ll learn about Kubernetes by deploying a simple web application across a multinode Kubernetes cluster.
Learn Kubernetes in Under 3 Hours: A Detailed Guide to Orchestrating Containers
By the end of this article, you will be able to run a Microservice based application on a Kubernetes Cluster. You will learn how to run a Microservice based application on your computer, build container images for each service of the Microservice application and how to deploying a Microservice based application into a Kubernetes Managed Cluster.
Kubernetes Tutorial | An Introduction To Kubernetes | Edureka
edureka.co
Kubernetes Deployment Tutorial For Beginners
devopscube.com
A Tutorial Introduction to Kubernetes
okigiveup.net
Learn Kubernetes Basics
kubernetes.io
Hello Minikube
kubernetes.io
What is Kubernetes – Learn Kubernetes from Basics
learnitguide.net
A Beginner’s Guide to Kubernetes
medium.com
Deploying a containerized web application | Kubernetes Engine
cloud.google.com
Tutorial: Configuring a Kubernetes DevTest Cluster in DigitalOcean
thenewstack.io
The 3 Kubernetes Essentials: Cluster, Pipeline, and Registry
codefresh.io
Kubernetes Tutorial For Beginner – Kubernetes Basics, Overview, Features
codingcompiler.com
Kubernetes Basic Tutorials
Blazing-Fast Log Management and Observability for Modern Apps | Scalyr
This tutorial is going to explain the basics you need to know to get started with Kubernetes, including concepts and real code examples that will help you get a better idea of why you might need to use Kubernetes if you’re thinking about using containers.
Getting started with Cloud Endpoints for Kubernetes with ESP
cloud.google.com
How to Create, Delete, Scale, and Update the Pods of StatefulSets
kubernetes.io
Architecting Applications for Kubernetes | DigitalOcean
digitalocean.com
Using GPGPUs with Kubernetes | Ubuntu
blog.ubuntu.com
Kubernetes Deployment | The Ultimate Guide | Platform9
platform9.com
Kubernetes Tutorial: How to pull a private docker image in a pod
blog.shippable.com
How to quickly install Kubernetes on Ubuntu
techrepublic.com
Kubernetes AWS and Azure Tutorials
Kubernetes on AWS: Tutorial and Best Practices for Deployment
weave.works
Set up a Production-Quality Kubernetes Cluster on AWS
datawire.io
How to move from single master to multi-master in an AWS kops kubernetes cluster
blenderfox.com
Kubernetes on Azure tutorial – Prepare an application – Azure Kubernetes Service
docs.microsoft.com
Tutorial: Run Kubernetes on Amazon Web Services (AWS) — Heptio Docs
docs.heptio.com
Tutorial: Deploy Kubernetes on Hetzner Cloud + Ingress + OpenEBS Storage – stytex Blog
How to Deploy Node js App to Google Container Engine Using Kubernetes | blog.fossasia.org
blog.fossasia.org
Kubernetes Python/Django Tutorials
Running a Python application on Kubernetes
This step-by-step tutorial takes you through the process of deploying a simple Python application on Kubernetes.
Deploy a simple Python application with Kubernetes
Make sense of Kubernetes with these step-by-step instructions on how to deploy a Python Flask application to the IBM Cloud Kubernetes Service.
Running a Python Application on Kubernetes
Read our blog
Quickstart: Deploying a language-specific app
This page shows you how to do the following:
Page not found – Mitra Innovation
mitrai.com
Kubernetes with Other Frameworks: Ruby/Rails, Spring, Neo4j
Kubernetes Tutorial: Running a Rails App in Kubernetes
engineyard.com
How to Use Kubernetes to Quickly Deploy Neo4j Clusters – Neo4j Graph Database Platform
neo4j.com
Migrating a Spring Boot service to Kubernetes in 5 steps
itnext.io
Kubernetes Monitoring and Prometheus Tutorials
Introduction to Kubernetes Monitoring
Monitoring a Kubernetes cluster allows engineers to observe its resource utilization and take action when something goes wrong. This article explores what you should be monitoring and how to go about it with Rancher, Prometheus, and Grafana.
How to Setup Prometheus Monitoring On Kubernetes Cluster
devopscube.com
Logging & Monitoring of Kubernetes Applications: Requirements & Recommended Toolset
platform9.com
How to monitor Kubernetes + Docker with Datadog
datadoghq.com
Kubernetes monitoring with Prometheus in 15 minutes
itnext.io
Simple Kubernetes cluster metrics monitoring with Prometheus and Grafana
medium.com
Monitoring Kubernetes Architecture – DZone DevOps
dzone.com
Kubernetes on Windows and Mac
Getting started with Docker and Kubernetes on Windows 10
learnk8s.io
How to set up Kubernetes on Windows 10 with Docker for Windows and run ASP.NET Core
hanselman.com
Tutorial : Getting Started with Kubernetes with Docker on Mac
rominirani.com
Kubernetes Tutorials in Other Environments
Getting started with IBM Cloud Kubernetes Service
console.bluemix.net
Tutorial: Run a custom LAMP application on Kubernetes — Heptio Docs
docs.heptio.com
How to run HA MongoDB on Kubernetes
portworx.com
Deploying Java Applications with Docker and Kubernetes
oreilly.com
SAP Tutorial Navigator | SAP
sap.com
Older Kubernetes Tutorials, But Still Worth a Look
Azure Kubernetes Service (AKS) | Microsoft Azure
deis.com
Tutorial : Getting Started with Kubernetes on your Windows Laptop with Minikube
rominirani.com
Just a Few Steps Away from Mastering Kubernetes…
Kubernetes is extremely powerful but has a steep learning curve. We hope this compilation of tutorials will help you make your next steps towards expertise in this important platform.
You can help us grow and improve this list:
Found a tutorial that should be removed?
Have a new tutorial we should add?
Let us know using the form at the bottom of this page.