Kubernetes is a multi-functional, container-centric platform for managing workloads and services. Given the fact that containers and container orchestration can dramatically improve costs, flexibility, and resilience, it’s no mystery why Kubernetes has soared in popularity since Google open-sourced it in 2014.
On one hand, it’s a powerful orchestration tool; on the other, it’s not a silver bullet that will solve all your problems. In fact, at the same time that it helps to manage dynamic infrastructure, it also introduces new vulnerabilities that pose a threat to security. To understand the value of Kubernetes, how to integrate it in a way that improves operational efficiency, and how to guard against the new vulnerabilities that container orchestration introduces, it’s critical that you have more than a passing knowledge.
So if you’re ready to start diving into Kubernetes, you’ve come to the right place. Below, we’ve curated a list of 50 top quality tutorials to help you fully understand Kubernetes architecture and best practices.
Organization: The Linux Foundation
Price: Free, $99 for a certificate
This is a self-paced course that you can complete in as little as five weeks if you work on it for two to three hours every week
If your team is beginning to use Kubernetes for container orchestration and you need guidelines on how to start transforming your organization with Kubernetes and cloud native patterns, if you’d like to simplify software container orchestration and find a way to expand your use of Kubernetes without adding infrastructure complexity, this course is for you.
What you will learn:
- The origin, architecture, primary components, and building blocks of Kubernetes
- How to set up and access a Kubernetes cluster using Minikube
- Ways to run applications on the deployed Kubernetes environment and access the deployed applications
- Usefulness of Kubernetes communities and how you can participate
This how-to is a bit more granular than many others on the list. Instead of an overview and definition of terms, this is for a specific Kubernetes tool, called Helm.
This tutorial covers how to:
- Validate the cluster and install Helm and Tiller
- Explore K8s and Helm
- Balance traffic and perform rolling updates
Clocker has created a straight forward but detailed tutorial for one purpose — to deploy a “production ready” Kubernetes cluster.
In this how-to, you’ll get:
- Step-by-step cluster deployment instructions
- Downloads to help the process
- Further documentation for those who need a deeper explanation
The Cloud Native Computing Foundation (CNCF) has published this recorded presentation to tackle the tricky process of configuring Kubernetes on multiple cloud environments. Brian Redbeard, of CoreOS, discusses and shows a great overview of the process.
In the talk, he covers:
- The importance of using open source tools for development
- Likely problems that you’ll encounter while attempting multi-cloud configuration
- Multiple steps to avoid issues during deployment
CodeShip gives one of the most detailed tutorials that covers quite a bit of ground for a 10-minute read. Images and simple language make this great for those who know what Kubernetes is, but those who are fuzzy on the topic may want to start with a tutorial that explains more “what” than “how” first.
In this tutorial, you’ll learn how to:
- Define the number of nodes to deploy and which platform to install K8s on
- Setting up kubectl
- Deploying an application
Organization: Coding Compiler
A very useful resource from Coding Compiler explaining node components in detail. This is one in a series of articles showing everything Kubernetes.
In this article, you’ll find:
- Detailed definitions of all terms relating to Kubernetes architecture
- Diagrams to further illustrate components
- A video tutorial solely devoted to architecture
Organization: Coding Tech
This list includes a number of detailed, written breakdowns of Kubernetes architecture. Our next entry is a video tutorial version of many of the written posts.
This video from Coding Tech covers:
- A top down look at Kubernetes going from broad to more detailed
- Descriptions of common elements (i.e., Namespaces, Deployments, Ingress Rules, etc.)
- Deeper level topic treatments including infrastructure and network infrastructure
This talk from Contino is more of an overview that provides the basics for those less familiar with Kubernetes. However, there is also a demo, showing more of the how-to that can be replicated.
The video covers:
- Kubernetes architecture elements
- Kubernetes concepts (both beginner and advanced)
- Demo of running a basic pod through Minikube
Dan Wilson, Principal Architect of Concur delivers this show-and-tell style talk. Running multi-cluster Kubernetes isn’t the easiest thing to get setup, and learning from someone with experience is always valuable.
Some of the topics Wilson covers include:
- Why use Kubernetes (or K8s)
- How using CoreOS could be helpful for multi-cluster setups
- How Concur implemented K8s
Speaker: Daniel Sanche
If you’re looking for a Kubernetes tutorial, how about a Google engineer actively working “on improving the Kubernetes Engine developer experience”? This is exactly what Dan Sanche writes about on the Google Cloud Platform blog on Medium.
In this tutorial, Dan shows how to:
- Set up a cluster
- Deploy an app
- Use YAML
Kubernetes is a very useful platform, and AWS is an incredibly popular infrastructure. Both of these factors will make this tutorial valuable to many.
A few of the topics covered include:
- Defining the type of development projects that could benefit from K8s and AWS
- A full discussion of all the technical design components
- A full, step-by-step process for deployment on AWS
Organization: Digital Ocean
With over half a million views, this introduction from Digital Ocean is one of the most popular resources for learning the basics of Kubernetes. It’s kept up-to-date and contains long, detailed definitions.
Topics in the article include:
- A nice overview of Kubernetes architecture
- A thorough look at components
- Kubernetes objects and workloads
As one of the few paid options on our list, this provides a full set of curriculum and videos detailing every step and providing all the necessary instructions to guide students. By the end, you’ll have learned all Kubernetes basics first hand.
Students learn how to:
- Build a cluster
- Determine network configuration
- Deploy applications
- Configure the storage
Duckademy is known for really helpful IT tutorials, some of which (including this one) are free. While this video is only one in a full course, it’s still very helpful and offers a more academic style of training.
In this intro course, you’ll learn:
- Core elements of Kubernetes
- Concepts for K8s
- Using Kubernetes with other connections and applications
Edureka has created a wonderfully colorful and helpful introduction to Kubernetes components and basic architecture. This is a really good option for visual learners who want to get a grasp on K8s.
This video covers:
- Basics of K8s and Kubernetes architecture
- And explanation of and components of nodes
- Setting up the network
This tutorial will help you understand how the various building blocks of Kubernetes work and how the components integrate to form a functioning Kubernetes unit.
This tutorial will teach you:
- The various components of Kubernetes and the work that they perform
- How to make sure that the Kubernetes components are working smoothly
- The various terms associated with Kubernetes and how they integrate into the system
- How various technology companies such as Luminis have used Kubernetes to run their applications
This is another tutorial from Edureka with a fun approach and a particular spin. This resource has tons of graphic elements and illustrations to help learners get a real grasp on the subject matter. There is also a series of videos to help you move through the content.
A few of the topics covered include:
- Reasons for using Kubernetes
- Features and benefits of Kubernetes
- A case study of Pokemon Go using Kubernetes
In the tutorial, you will learn how to package and deploy your very own web application by using GKE (Google Kubernetes Engine). It focuses on packaging the application in a Docker container image and running that image on the GKE cluster, creating a server pool that users can utilize according to their scaling requirement.
Some of the things you’ll learn from this tutorial are:
- Basics about creating a Docker image and using containers
- Creating container clusters
- Successfully deploying a GKE web application
With this simple tutorial, learn to launch a Node.js web application, create replicas for the same container by creating a cluster, and use Docker to build your Node.js container and register it safely using Google Container Registry.
Here’s what you’ll understand after going through this tutorial:
- The concept of Google Kubernetes Engine
- Launching a Node.js Container (Single)
- Launching multiple replicas of the container (Multiple)
This tutorial explains how to develop a Node.js API that can run on multiple operating systems using Google Kubernetes Engine and its tool, Minikube. The tutorial uses a MacOs; however, following the tutorial is easy even on Linux and Windows with slightly different codes.
At the end of this tutorial, you’ll understand the basics about:
- Minikube, a tool that makes running Kubernetes locally hassle free
- Docker and how it operates
- Launching an API using all these platforms
In this tutorial you will learn how to quickly create an Amazon EKS cluster using AWS CloudFormation. Before you begin, here is a list of some accounts and utilities that are required: AWS Account, EC2 Key Pair, cim.sh, AWS CLI, and kubectl and AWS IAM authenticator for Kubernetes.
After completing the tutorial, you learn about:
- Amazon Elastic Container Service for Kubernetes
- AWS CloudFormation
- Deploying your first microservice
This tutorial uses the example of a public relations firm to show how the firm deploys a containerized application using IBM Cloud and Kubernetes. The tutorial also goes through the process of managing Docker images in the IBM Cloud.
At the end of the step-by-step tutorial (it takes about 40 minutes to complete), you’ll have learned how to:
- Deploy a Kubernetes cluster in IBM
- Create a cluster with one worker node and worker pool each
- Create an image repository (in IBM Cloud)
- Learn how to add the Tone Analyzer Service
This tutorial explains how to use IBM Cloud Services to deploy applications into clusters.
At the end of this tutorial you’ll understand how to:
- Create a simple “Hello World” Application
- Use replica sets to monitor the application’s performance
- Make a publicly accessible web application using Kubernetes Clusters and IBM Cloud Services
- Use the container registry plug-in
This video, from Intellipaat, provides a “hands on” view of a Kubernetes implementation.
This tutorial covers:
- Kubernetes from scratch (the basics)
- Kubernetes architecture (taking understanding to the next level)
- Kubernetes implementation shown visually
Speaker: Janakiram MSV
Janakiram MSV has created one of the more well-liked tutorials on Kubernetes architecture, at least on YouTube. Many of the commenters praise the ease of understanding and his detailed explanations.
The tutorial covers many subjects, including:
- A detailed overview of core components before diving into the code
- A walk through building and deploying applications
- Best practices to get everything up and scaled
Twitter: @ KeyCDN
In this tutorial the learner will learn the basics of Google Kubernetes Engine, along with the best Kubernetes architecture tutorial that consists of 5 layers: Master Server, Nodes, Container Runtime, Network, and a Kubernetes API.
Here’s what you’ll learn from this tutorial:
- Kubernetes basics
- More about the necessity of Kubernetes
- Kubernetes Architecture
- How to get started with GKE
This tutorial explains how to deploy a Node.js web application in a Kubernetes cluster using the Minikube tool and also how to allow the cluster to adapt to the load from external sources by automatically scaling in size.
You will also learn how to:
- Deploy a simple Node.js application using Kubernetes Cluster
- Use Minikube and run Kubernetes locally
- Install and sse the kubectl command-line tool
Klondus Inc. has put together a very in-depth look at Kubernetes architecture components with detailed slides and visual cues to help everyone understand.
In this video tutorial, you’ll learn:
- Basic and advanced terminology with visual aids
- Networking inside Kubernetes
- How to set up a cluster
In this tutorial you’ll learn about Kubernetes Objects and their representation and how every object has two predefined fields: Object Spec and Object Status. It also guides beginners in describing and expressing them in .yaml format.
Here is what you’ll learn:
- Basics about Kubernetes Objects
- How to express the Kubernetes objects in .yaml format
- What Object Spec and Object Status really are
At the end of this tutorial, you will have learned all about the three main Kubernetes components (Master Components, Node Components, and Add-ons) and how these components are essential in delivering a working Kubernetes cluster.
By the end of the tutorial, you will have learned that:
- Master Components are responsible for the control plane of the cluster
- Node components are present at every node in the cluster
- Add-ons implement and extend the Kubernetes functionality
Here’s a fantastic, interactive tutorial from Kubernetes.io. It is primarily aimed at beginners and should only take about 10 minutes to complete. It’s an online terminal and “a pre-configured Linux environment.”
Taking this tutorial will:
- Help you get “hands-on” experience
- Actually deploy a cluster using minikube
- Learn to check whether minikube is installed correctly
Rather than being a fully developed tutorial on Kubernetes, this is more of a definition of terms and a look at the anatomy of Kubernetes. It’s pretty thorough and should give a developer with little knowledge a good conceptual understanding of Kubernetes.
The “Under the Hood” tutorial provides:
- Detailed definitions of every architectural component
- Explanations on the workings of Kubernetes
- How to use the components like building blocks
- An exploration of the potential of Kubernetes
This is a step-by-step tutorial (with images) explaining the process of installing a single master Kubernetes cluster. If you’re interested in using Kublr, the tutorial obviously mentions and suggests using their product, but it’s a solid explanation.
The tutorial explains:
- How to install Docker and the helper package
- How to protect against bad or fake repositories
- Best practices to alleviate common problems
Organization: Linux Foundation
Not surprisingly, Linux gives one of the most detailed tutorials on the list. This one is for advanced users and isn’t for those not familiar with Kubernetes.
In the article, Linux teaches:
- All the necessary installations (Docker, minikube)
- Running a test pod
- Setting up a local image registry
This concise tutorial covers the basics of Kubernetes in 5 minutes – less time if you’re a quick reader and have some background.
The quick guide shows:
- All core terms and definitions
- An unbiased look at alternatives to Kubernetes
- Explanations of how to manage logs
This is actually the second part of an overall tutorial on Kubernetes. Specifically, the article details installing and deploying multi-node clusters. The entire series is great, but this one is for those familiar with Kubernetes and looking to become better at scaling development.
This part of the tutorial series covers:
- All necessary downloads and installations before getting started
- Installing Kubernetes on RedHat/CentOS 7.x
- Troubleshooting in the event of a problem
Spinnaker is an open-source deployment tool developed by Netflix and can be used with Kubernetes in many different ways. It’s a newer tool, and using it can be tricky the first go around. This how-to is meant to help.
In this article, you’ll learn how to:
- Create the objects necessary for Spinnaker to run properly
- Create the pod in which Spinnaker runs
- Configure and deploy Spinnaker
Yet Another Markup Language (YAML) is a data serialization standard for all programming languages (source). It’s a great little tool to save some dev time. This tutorial aims to help developers shave time and get more done during sprints by using YAML.
In this tutorial, it shows:
- Exactly how YAML can help you with Kubernetes
- The basics of YAML maps and lists
- Creating a pod with YAML
Organization: OK I Give Up
Many of the tutorials on our list are full of short definitions and quick get-started guides. This article has long-form answers with deep explanations about terms and procedures. The writing is a bit dry, but not unreadable.
This deep tutorial includes:
- A first-person retelling of how the author learned Kubernetes
- In-depth looks at the most important concepts
- Help to avoid potential beginner pitfalls
Speaker: Omer Dawelbeit
All the tutorials in this list are helpful in different ways. Most were created by companies that make tools to help developers and have at least one product mention in them. This resource was created by a developer to help other developers.
This article provides:
- Brief, to-the-point definitions
- Clear explanation for topics the author himself found difficult
- Many other linked resources to read and watch
Organization: Open Stack
This tutorial aims to provide a guide to Kubernetes using Magnum’s OpenStack system.
With this tutorial, you will learn:
- How to set up a magnum bay using Kubernetes
- How to use various Kubernetes package installers such as Helm
- How to manage packages using simple command line tools
- Various terms connected with Kubernetes and how they apply
This tutorial explains how to use kubectl commands to apply a Docker Container on a Kubernetes cluster.
The tutorial will help you learn how to:
- Add integrators to help connect your shippable workflow with external providers
- Provide authentication information to kubectl to aid in interaction with Kubernetes
- Ensure that the Kubernetes spec files are available on the assembly line
This tutorial is a guide to the basics of using Kubernetes, providing explanations of all the basic terms and processes pertaining to Kubernetes.
This tutorial will help you learn:
- How to create your own Kubernetes cluster
- How to set up a Kubernetes cluster in the cloud
- How to ensure that the components of Kubernetes are running smoothly
Organization: Test Driven
This tutorial provides a step by step analysis of to how you should apply a microservice to a Kubernetes cluster. The tutorial focuses on how to apply a microservice on a Google Kubernetes Engine.
The tutorial will help you learn the benefits of orchestration as well as how to:
- Use various tools used for orchestration
- Run Kubernetes using Google Cloud Platform
- Interpret and apply the basic Kubernetes mods
- Use Kubernetes tools to manage information
Organization: The New Stack
This tutorial teaches how to use Istio to quicken communication between microservices functioning in Kubernetes.
This tutorial will help you learn how to:
- Configure Istio to run on Minikube
- Install and configure Istio within Kubernetes
- Configure Istio to deploy a single app as two different ones
- Use Istio to direct the flow of traffic without delays
Organization: The New Stack
This tutorial is meant to show you how to create a Kubernetes cluster that runs across different regions or environments.
This tutorial teaches you how to:
- Use Google Cloud to create a zone for a specific domain
- Create and apply your own GCP identity
- Create a federated control panel using kubefed CLI
- Ensure that the clusters have been successfully registered
Organization: Tutorial Linux
This tutorial is designed to teach you the basics of a Kubernetes cluster.
This tutorial teaches you how masters and nodes work in Kubernetes and how to:
- Use the scheduler to run Kubernetes
- Use the controller manager to ensure that Kubernetes is running on optimum
- Run different modes within the nodes
Organization: Tutorials Point
This tutorial is meant to teach you the basics of Kubernetes in the simplest ways possible.
The tutorial will teach you:
- The different components that make up Kubernetes and how they work together
- How the master components of Kubernetes integrate and communicate with each other
- How to manage the different components of Kubernetes to ensure optimum performance
- How the node components work on Kubernetes
Another paid option, this tutorial is meant to teach you:
- The relationship between the various Kubernetes building blocks
- How to create your own personal Kubernetes cluster and how to set it up on the cloud
- How to use various programs such as Grafana to monitor live clusters
- How to deploy components such as containers to Kubernetes structures
All the tips and strategies in this video are meant to “take you from cloud newbie to cloud native.”
Some of the content includes:
- How to install and get started
- Building and running Linux
- Configuration techniques
If you’ve gotten up to speed on Kubernetes and want to learn more about how you can leverage Kuberetes in your environment, check out the tutorials provided by Kubernetes, review Kubernetes documentation, and take a look at Kubernetes case studies to discover how other companies are putting Kubernetes to use. If you have specific questions or a problem you’re trying to solve, the Kubernetes Community is also a great resource for DevOps professionals.
Security Monitoring With Threat Stack
Whether you’re just considering Kubernetes or have already deployed containers and Kubernetes, Threat Stack can help you monitor your containerized environment for risky and anomalous behavior. With the full-stack security visibility provided by the Threat Stack Cloud Security Platform® and the expertise provided through the Threat Stack Cloud SecOps Program℠, you can effectively manage your migration to and management of container-based environments. To learn more, take a look at our website or contact us today for a demo of the Threat Stack Cloud Security Platform®.
*** This is a Security Bloggers Network syndicated blog from Blog – Threat Stack authored by Natalie Walsh. Read the original post at: https://www.threatstack.com/blog/50-best-kubernetes-architecture-tutorials