Kubernetes
Оркестрация контейнеров: автоматический деплой, масштабирование, self-healing. Декларативная модель (YAML-манифесты), reconciliation loop (desired state → actual state).
Explanation (Концепции)
| Документ | Описание |
|---|
| architecture | Control Plane, Worker Nodes, API Server, etcd, Scheduler, Kubelet |
| manifests-philosophy | Императивный vs декларативный, kubectl apply, идемпотентность |
| workload-resources | Pod, Deployment, StatefulSet, DaemonSet, Job, CronJob |
| networking | Service типы (ClusterIP, NodePort, LB), Headless, Ingress, DNS |
| storage | PV, 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-workloads | Deployment, StatefulSet, DaemonSet, Job, scaling, rolling update |
| configure-networking | Service, Ingress, NetworkPolicy, DNS, port-forward |
| manage-storage | ConfigMap, Secret, PVC, StorageClass, emptyDir |
| rbac | Role, ClusterRole, ServiceAccount, RoleBinding, can-i |
| resource-limits | requests/limits, QoS, LimitRange, ResourceQuota, HPA |
| troubleshoot | Алгоритм отладки, Pending/CrashLoop/ImagePull, debug pod |
| helm-basics | Helm install/upgrade/rollback, values.yaml, создание чарта |
Recipes (Готовые решения)(В процессе)
| Рецепт | Описание |
|---|
| web-app-deploy | Полный набор: Deployment + Service + Ingress + HPA + probes |
Reference (Справочники)
| Документ | Описание |
|---|
| cheatsheet | kubectl: 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 (Пошаговые уроки)
| # | Документ | Что изучаем |
|---|
| 01 | 01-local-setup | kubectl + Minikube, запуск кластера, k9s |
| 02 | 02-first-deployment | Deployment, Service, масштабирование, rolling update, rollback |
| 03 | 03-stateful-app | ConfigMap, Secret, PVC, StatefulSet (PostgreSQL) |
| 04 | 04-ingress-and-tls | Ingress маршрутизация, 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 (автоматизация настройки серверов)