Kubernetes

Оркестрация контейнеров: автоматический деплой, масштабирование, self-healing. Декларативная модель (YAML-манифесты), reconciliation loop (desired state → actual state).

Explanation (Концепции)

ДокументОписание
architectureControl Plane, Worker Nodes, API Server, etcd, Scheduler, Kubelet
manifests-philosophyИмперативный vs декларативный, kubectl apply, идемпотентность
workload-resourcesPod, Deployment, StatefulSet, DaemonSet, Job, CronJob
networkingService типы (ClusterIP, NodePort, LB), Headless, Ingress, DNS
storagePV, PVC, StorageClass, Dynamic Provisioning, Access Modes, Reclaim Policy
helm-objectsВстроенные объекты шаблонов: Release, Values, Chart, Files, Capabilities, Template
helm-functionsФункции шаблонов, pipelines, toYaml/nindent, _helpers.tpl, include, tpl

How-to (Практические руководства)

ДокументОписание
manage-workloadsDeployment, StatefulSet, DaemonSet, Job, scaling, rolling update
configure-networkingService, Ingress, NetworkPolicy, DNS, port-forward
manage-storageConfigMap, Secret, PVC, StorageClass, emptyDir
rbacRole, ClusterRole, ServiceAccount, RoleBinding, can-i
resource-limitsrequests/limits, QoS, LimitRange, ResourceQuota, HPA
troubleshootАлгоритм отладки, Pending/CrashLoop/ImagePull, debug pod
helm-basicsHelm install/upgrade/rollback, values.yaml, создание чарта

Recipes (Готовые решения)(В процессе)

РецептОписание
web-app-deployПолный набор: Deployment + Service + Ingress + HPA + probes

Reference (Справочники)

ДокументОписание
cheatsheetkubectl: get, describe, logs, exec, apply, rollout, port-forward
yaml-templatesШаблоны манифестов: Pod, Deployment, Service, Ingress, PVC
resource-referenceВсе ресурсы: Kind, Short, apiVersion, NS, описание
helm-functionsФункции шаблонов Helm: строки, числа, списки, словари, крипто, валидация

Tutorials (Пошаговые уроки)

#ДокументЧто изучаем
0101-local-setupkubectl + Minikube, запуск кластера, k9s
0202-first-deploymentDeployment, Service, масштабирование, rolling update, rollback
0303-stateful-appConfigMap, Secret, PVC, StatefulSet (PostgreSQL)
0404-ingress-and-tlsIngress маршрутизация, TLS, cert-manager

Быстрый старт

# 1. Установка
brew install kubectl minikube    # или pacman -S kubectl minikube
 
# 2. Запуск кластера
minikube start --driver=docker
 
# 3. Первый деплой
kubectl create deployment web --image=nginx --replicas=2
kubectl expose deployment web --port=80 --type=NodePort
minikube service web --url
 
# 4. Декларативный подход
kubectl apply -f deployment.yaml
kubectl rollout status deploy/web

Связанные разделы

  • index — Docker (контейнеры, на которых работает K8s)
  • index — Ansible (автоматизация настройки серверов)

в этой папке 4 элемента