Documentation/kubernetes/00 introduction

Kubernetes Introduction

Kubernetes is an open-source container orchestration platform that automates the deployment, scaling, and management of containerized applications.

What is Kubernetes?

Kubernetes, often abbreviated as K8s, provides a framework for running distributed systems resiliently. It handles many of the technical details of application deployment and scaling automatically.

Key Features

  • Automatic Deployment: Automatically place containers on nodes based on resource requirements
  • Self-Healing: Restarts failed containers and replaces unresponsive nodes
  • Load Balancing: Automatically distributes network traffic efficiently
  • Service Discovery: Exposes containers using DNS names
  • Rolling Updates: Update applications without downtime

Core Concepts

Pods

The smallest deployable units in Kubernetes. A pod can contain one or more containers that share network resources.

Services

An abstract way to expose applications running on a set of Pods as a network service.

Deployments

Declarative updates for Pods and ReplicaSets, allowing you to describe the desired state.

Getting Started

To start using Kubernetes, you'll need:

  1. A Kubernetes cluster (local or cloud)
  2. kubectl command-line tool
  3. Docker images for your applications
# Install kubectl
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"

# Verify installation
kubectl version --client

Next Steps

Learn more about:

  • Pod creation and management
  • Services and networking
  • Deployments and scaling
  • ConfigMaps and Secrets