Table of Contents
Kubernetes is an open source orchestration and containerization system used for the deployment and management of cloud-native applications on a cluster of hosts, be it on-premises infrastructure or public cloud platforms. Kubernetes makes it easy for you to manage, scale, and update your application to meet the modern expectation of rolling out new features frequently without causing disruption to your service.
With the right tutorials, it is possible to learn and master just about anything. In this roundup, you explore a comprehensive list of tutorials to take you from a zero to a Kubernetes hero. These tutorials cover all kinds of Kubernetes topics worth knowing about—from the essentials, like pods and deployment, to more advanced topics, like GitOps and dev tools. Let’s get started!
Kubernetes Essentials: Pods, Deployments, ReplicaSet, and Other Basics
Decades ago, companies built their applications using legacy technologies with all the components of the application tightly coupled, making it difficult to manage and deploy. With the more recent advancements of technology, startups and enterprises today are transforming their applications into microservices using infrastructures that rely on container technologies and orchestration tools such as Kubernetes.
In this section, you’ll find tutorials that cover Kubernetes’s architecture, microservices, deployment, and more functionalities that are essential to understanding and working with Kubernetes. (Note: The tutorials in each section of this article have been ordered according to increasing difficulty, listing beginner-level resources first and then progressing to more advanced topics.)
- “What Is Container Orchestration?”
- “What Is Kubernetes?”
- “Beginners Concepts in Kubernetes”
- “Kubernetes: An Introduction to Its Components”
- “Kubernetes: An Introduction, Part II”
- “Kubernetes: An Introduction, Part III”
- “Install and Set Up kubectl on Windows”
- “How to Install Kubernetes on Windows 10”
- “Installation Simple Kubernetes Cluster on Ubuntu Server 20.04”
- “The 3 Kubernetes Essentials: Cluster, Pipeline, and Registry”
- “Using Kubernetes with Docker for Mac”
- “Kubernetes Tutorial | Install & Run Minikube in macOS | K8s Cluster”
- “Kubernetes’ Architecture: Understanding the Components and Structure of Clusters”
- “Kubernetes CRDs:Custom Resource Definitions”
- “What Is a Kubernetes Cluster?”
- “What Is a Kubernetes Pod?”
- “What Are Kubernetes Pods?”
- “Pods Creation Process Flow”
- “Placing Pods on Specific Nodes Using Node Selectors”
- “Kubernetes Horizontal Pod Autoscaling”
- “Kubernetes ReplicaSets: A Brief Introduction”
- “Kubernetes Replicaset”
- “Kubernetes Stateful Set—Examples & Best Practices”
Networking and Storage: Services, PVs, PVCs, Ingress, and More
Kubernetes networking allows the Kubernetes components you are working with to communicate with each other and with your application. This is necessary because each of these components is treated as an independent object.
Kubernetes volumes allow you to store data, which can be accessible across multiple containers in a pod. When a pod is deleted or the container crashes, the data stored is lost, but with a persistent volume (PV), the data stored can outlive the pod.
The tutorials in this section cover Kubernetes networking, volumes, persistent volumes, persistent volume claims, and services.
- “Stupid Simple Kubernetes—Persistent Volumes Explained by Examples”
- “Kubernetes Persistent Volumes: Examples & Best Practices”
- “Kubernetes Persistent Volume Explained”
- “Keeping the State of Apps 1: Introduction to Volumes and volumeMounts”
- “Persistent Volumes (PV) and Claims (PVC) in Kubernetes”
- “Kubernetes Network Policies”
- “Share Process Namespace between Containers in a Pod”
- “Kubernetes NGINX Ingress: 10 Useful Configuration Options”
- “Kubernetes Ingress Tutorial for Beginners”
- “How Does Ingress Work in Kubernetes?”
- “Kubernetes—Active/Passive Load Balancing with Services”
- “Node Affinity in Kubernetes”
- “Learn How to Assign Pods to Nodes in Kubernetes Using nodeSelector and Affinity Features”
- “Kubernetes Ingress Simplified” (video)
- “Kubernetes Services Explained” (video)
- “Kubernetes—Objects (Resources) Overview”
Kubernetes Deployment and GitOps Tools: Helm, Argo, Flux, and More
Kubernetes has become the most popular open source container-orchestration platform around the globe, with organizations rapidly adopting microservice-based approaches to build and deploy their applications. Because of this, various tools have been developed to complement Kubernetes and enhance deployment, monitoring, and securing of the Kubernetes environment.
This section will equip you with tutorials on a variety of these Kubernetes deployment tools, such as Helm, Jenkins, Terraform, Argo CD, and others.
- “Kubernetes Deployments Fully Explained”
- “Overview of Gitops Tools | Principles | Benefits | Use Cases”
- “GitOps Tools, Pipelines and Kubernetes Operator”
- “Helm”
- “Understanding Kubernetes Deployments with Helm”
- “Encrypt Helm Sensitive Data”
- “Test and Validate Your Helm Charts in Kubernetes”
- “Kubernetes with kind”
- “How to Install Jenkins on Kubernetes”
- “CI/CD Pipeline Using Jenkins to deploy on Kubernetes”
- “Continuous Integration with Jenkins on Kubernetes”
- “Manage Kubernetes Resources via Terraform”
- “Deploying Applications in Multi-clusters Using ArgoCD”
- “Getting Started with ArgoCD for GitOps Kubernetes Deployments”
- “Create a Continuous Integration Pipeline with GitLab and Kubernetes”
- “Gitlab CI/CD on Kubernetes”
- “Kubernetes the Hard Way Using Terraform” (video)
- “Working with Terraform and Kubernetes”
- “Installing Kubernetes with Kubespray”
- “An Introduction to Kubespray”
- “FluxCD, ArgoCD or Jenkins X: Which Is the Right GitOps Tool for You?”
- “Deploying Applications in Kubernetes Using Flux”
- “GitOps Continuous Delivery on Kubernetes with Flux, Helm and CircleCI”
- “Creating Containerized Workflows With argo”
Kubernetes Dev Tools: DevSpace, Tilt, Prometheus, and More
Tools like Devspace, Tilt, and Prometheus were created by the Kubernetes community to make a developer’s job easier. Furthermore, because Kubernetes makes deployment smooth, there is the possibility of developers overprovisioning resources needed for a project, thus driving up cloud cost. In order to avoid this, tools like Kubecost were developed to give you detailed insights into how resources are being used.
The tutorials in this section will teach you how to use several of these tools in your Kubernetes projects.
- “9 Open Source Developer Tools for Kubernetes”
- “Kubernetes-Based Development with Devspace”
- “Pace Your Kubernetes Development with This Awesome Tool”
- “Kubernetes Cost Monitoring with Prometheus & Grafana”
- “Kubernetes Cost Monitoring with Kubecost”
- “Reducing Kubernetes Cost: Kubecost vs Cast.ai”
- “DevSpace—Development Environments in Kubernetes” (video)
- “Develop Cloud-Native Software Faster with DevSpace” (video)
- “How to Get Started with DevSpace and Rapidly Develop Kubernetes Apps”
- “Local Kubernetes Development with Tilt”
- “Local Kubernetes Development with Tilt.dev”
- “Hands On—Kubernetes Productivity with Tilt” (video)
- “Deploy Ruby on Rails to Kubernetes”
Building Kubernetes Platforms: RBAC, Resource Quotas, SSO, Policies, and More
Several Kubernetes platforms have been developed to manage Kubernetes, whether on edge, on-premises, or on cloud environments. For easy implementation of strict security and governance policies, Kubernetes has inbuilt role-based access control (RBAC) and policies that simplify the process of setting up various security controls on an organization’s Kubernetes projects.
This section provides tutorials to teach you about RBAC, resource quotas, policies, SSO, and more.
- “Kubernetes RBAC: Basics and Advanced Patterns”
- “Assign Permissions to a User in Kubernetes: An Overview of RBAC-Based AuthZ in K8s”
- “10 Essentials for Kubernetes Access Control”
- “Getting Started with Kubescape”
- “Kubernetes Hardening Using Kubescape”
- “Kubescape Walkthrough—Easy Kubernetes Security Tool” (video)
- “Kubernetes Policy Enforcement: OPA vs jsPolicy”
- “Kubernetes Security for DevOps Pipelines”
- “Kubernetes Best Practices for Enhanced Cluster Efficiency”
- “Kubernetes Admission Controllers: What They Are and Why They Matter”
- “Kubernetes Security Best Practices”
- “Restricting cluster-admin Permissions”
- “Kubernetes and LDAP: Enterprise Authentication for Kubernetes”
- “How to Use Kubernetes Resource Quotas”
- “Resource Quotas”
- “Applying Resource Quotas and Limits”
- “Limiting Resource Usage”
- “Single Sign-On for Kubernetes: An Introduction”
- “How to Enforce Kubernetes Network Security Policies Using OPA”
- “Enforcing Policies in Kubernetes”
- “OPA Gatekeeper: Policy and Governance for Kubernetes”
- “Enforcing Policies and Governance for Kubernetes Workloads”
- “Building an Internal Kubernetes Platform”
- “Building Stateful Services with Kubernetes”
Conclusion
Kubernetes offers a superior, simplified way of deploying applications, which has led to its rapid growth in popularity and adoption among organizations and developers.
In this roundup, you were equipped with some of the best tutorials to start (or continue) your journey of mastering Kubernetes, covering everything from pods and deployments to GitOps tools, dev tools, and other resources for building and managing Kubernetes platforms.
Photo by Jason Hogan on Unsplash