[{"data":1,"prerenderedAt":362},["ShallowReactive",2],{"content:\u002F07-infrastructure\u002Fresources":3},{"title":4,"description":5,"path":6,"body":7},"Дополнительные материалы","Русскоязычная подборка по Docker и Kubernetes: видео, Хабр и несколько официальных страниц, без которых неудобно сверять синтаксис и поведение.","\u002F07-infrastructure\u002Fresources",{"type":8,"value":9,"toc":350},"minimark",[10,14,17,22,60,64,122,126,160,164,198,202,236,240,274,278,312,316],[11,12,4],"h1",{"id":13},"дополнительные-материалы",[15,16,5],"p",{},[18,19,21],"h2",{"id":20},"docker-основы-контейнеризации","Docker — основы контейнеризации",[23,24,25,36,44,52],"ul",{},[26,27,28,35],"li",{},[29,30,34],"a",{"href":31,"rel":32},"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=aZTL2zRmOnA",[33],"nofollow","Что такое Docker | Merion Academy, YouTube"," — понятный обзор контейнеров, образов и отличий от виртуальных машин.",[26,37,38,43],{},[29,39,42],{"href":40,"rel":41},"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=lr1rYnUubpQ",[33],"Docker для начинающих за 1 час | YouTube"," — быстрый практический вход в images, containers, volumes и сети.",[26,45,46,51],{},[29,47,50],{"href":48,"rel":49},"https:\u002F\u002Fhabr.com\u002Fru\u002Farticles\u002F659049\u002F",[33],"Основы контейнеризации: обзор Docker и Podman | Хабр"," — фундамент про namespaces, cgroups, image, container, registry и OCI.",[26,53,54,59],{},[29,55,58],{"href":56,"rel":57},"https:\u002F\u002Fdocs.docker.com\u002Fget-started\u002Foverview\u002F",[33],"Docker overview"," — официальный обзор: images, containers, registry и Docker Engine.",[18,61,63],{"id":62},"dockerfile-и-docker-compose","Dockerfile и Docker Compose",[23,65,66,72,80,106,114],{},[26,67,68,71],{},[29,69,42],{"href":40,"rel":70},[33]," — в ролике есть практика с Dockerfile и Compose.",[26,73,74,79],{},[29,75,78],{"href":76,"rel":77},"https:\u002F\u002Fhabr.com\u002Fru\u002Fcompanies\u002Fsibur_official\u002Farticles\u002F846350\u002F",[33],"Основы Docker: контейнеризация, Dockerfile и Docker Compose | Хабр \u002F СИБУР"," — Dockerfile, слои образов, команды Docker и ограничения Compose.",[26,81,82,87,88,92,93,92,96,92,99,92,102,105],{},[29,83,86],{"href":84,"rel":85},"https:\u002F\u002Fdocs.docker.com\u002Freference\u002Fdockerfile\u002F",[33],"Dockerfile reference"," — главный справочник по ",[89,90,91],"code",{},"FROM",", ",[89,94,95],{},"RUN",[89,97,98],{},"COPY",[89,100,101],{},"ENTRYPOINT",[89,103,104],{},"HEALTHCHECK",".",[26,107,108,113],{},[29,109,112],{"href":110,"rel":111},"https:\u002F\u002Fdocs.docker.com\u002Fbuild\u002Fbuilding\u002Fmulti-stage\u002F",[33],"Multi-stage builds"," — must-read для Go-сервисов: маленький runtime-образ без компилятора.",[26,115,116,121],{},[29,117,120],{"href":118,"rel":119},"https:\u002F\u002Fdocs.docker.com\u002Freference\u002Fcompose-file\u002F",[33],"Compose file reference"," — сервисы, volumes, networks, env, depends_on и healthcheck.",[18,123,125],{"id":124},"kubernetes-обзор-и-архитектура","Kubernetes — обзор и архитектура",[23,127,128,136,144,152],{},[26,129,130,135],{},[29,131,134],{"href":132,"rel":133},"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=klmpiHLSuXA",[33],"Что такое Kubernetes | YouTube"," — русскоязычный обзор кластера, control plane, node и базовых объектов.",[26,137,138,143],{},[29,139,142],{"href":140,"rel":141},"https:\u002F\u002Fhabr.com\u002Fru\u002Farticles\u002F258443\u002F",[33],"Основы Kubernetes | Хабр"," — классический русскоязычный вход в кластеры, репликацию и управление контейнерами.",[26,145,146,151],{},[29,147,150],{"href":148,"rel":149},"https:\u002F\u002Fkubernetes.io\u002Fdocs\u002Fconcepts\u002Foverview\u002Fcomponents\u002F",[33],"Kubernetes Components"," — официальная карта kube-apiserver, etcd, scheduler, controller-manager и kubelet.",[26,153,154,159],{},[29,155,158],{"href":156,"rel":157},"https:\u002F\u002Fkubernetes.io\u002Fdocs\u002Fconcepts\u002Farchitecture\u002F",[33],"Cluster Architecture"," — архитектура и объектная модель Kubernetes.",[18,161,163],{"id":162},"pods-и-жизненный-цикл","Pods и жизненный цикл",[23,165,166,174,182,190],{},[26,167,168,173],{},[29,169,172],{"href":170,"rel":171},"https:\u002F\u002Fkubernetes.io\u002Fdocs\u002Fconcepts\u002Fworkloads\u002Fpods\u002F",[33],"Kubernetes Pods"," — первоисточник про Pod как минимальную единицу запуска.",[26,175,176,181],{},[29,177,180],{"href":178,"rel":179},"https:\u002F\u002Fkubernetes.io\u002Fdocs\u002Fconcepts\u002Fworkloads\u002Fpods\u002Fpod-lifecycle\u002F",[33],"Pod lifecycle"," — фазы Pod, состояния контейнеров, restart policy и graceful shutdown.",[26,183,184,189],{},[29,185,188],{"href":186,"rel":187},"https:\u002F\u002Fkubernetes.io\u002Fdocs\u002Fconcepts\u002Fworkloads\u002Fpods\u002Finit-containers\u002F",[33],"Init Containers"," — когда нужны init-контейнеры и чем они отличаются от обычных.",[26,191,192,197],{},[29,193,196],{"href":194,"rel":195},"https:\u002F\u002Fkubernetes.io\u002Fdocs\u002Fconcepts\u002Fconfiguration\u002Fliveness-readiness-startup-probes\u002F",[33],"Liveness, Readiness, Startup Probes"," — обязательный материал для production health checks.",[18,199,201],{"id":200},"workloads-и-стратегии-деплоя","Workloads и стратегии деплоя",[23,203,204,212,220,228],{},[26,205,206,211],{},[29,207,210],{"href":208,"rel":209},"https:\u002F\u002Fkubernetes.io\u002Fdocs\u002Fconcepts\u002Fworkloads\u002Fcontrollers\u002Fdeployment\u002F",[33],"Kubernetes Deployments"," — Deployment, ReplicaSet, rollout и rollback.",[26,213,214,219],{},[29,215,218],{"href":216,"rel":217},"https:\u002F\u002Fkubernetes.io\u002Fdocs\u002Fconcepts\u002Fworkloads\u002Fcontrollers\u002Fstatefulset\u002F",[33],"StatefulSets"," — стабильные имена, storage identity и порядок запуска.",[26,221,222,227],{},[29,223,226],{"href":224,"rel":225},"https:\u002F\u002Fkubernetes.io\u002Fdocs\u002Fconcepts\u002Fworkloads\u002Fcontrollers\u002Fdaemonset\u002F",[33],"DaemonSet"," — агенты логирования, мониторинга и задачи на каждой ноде.",[26,229,230,235],{},[29,231,234],{"href":232,"rel":233},"https:\u002F\u002Fkubernetes.io\u002Fdocs\u002Ftutorials\u002Fkubernetes-basics\u002Fupdate\u002Fupdate-intro\u002F",[33],"Rolling updates"," — обновление приложения без полной остановки.",[18,237,239],{"id":238},"сервисы-и-сетевое-взаимодействие","Сервисы и сетевое взаимодействие",[23,241,242,250,258,266],{},[26,243,244,249],{},[29,245,248],{"href":246,"rel":247},"https:\u002F\u002Fkubernetes.io\u002Fdocs\u002Fconcepts\u002Fservices-networking\u002Fservice\u002F",[33],"Services"," — ClusterIP, NodePort, LoadBalancer и стабильная точка доступа к Pod'ам.",[26,251,252,257],{},[29,253,256],{"href":254,"rel":255},"https:\u002F\u002Fkubernetes.io\u002Fdocs\u002Fconcepts\u002Fservices-networking\u002Fingress\u002F",[33],"Ingress"," — HTTP\u002FHTTPS-маршрутизация внутрь кластера и связь с ingress controller.",[26,259,260,265],{},[29,261,264],{"href":262,"rel":263},"https:\u002F\u002Fkubernetes.io\u002Fdocs\u002Fconcepts\u002Fservices-networking\u002Fdns-pod-service\u002F",[33],"DNS for Services and Pods"," — DNS-имена сервисов и Pod'ов внутри кластера.",[26,267,268,273],{},[29,269,272],{"href":270,"rel":271},"https:\u002F\u002Fkubernetes.io\u002Fdocs\u002Fconcepts\u002Fservices-networking\u002Fnetwork-policies\u002F",[33],"Network Policies"," — сетевые правила изоляции, которые часто забывают на старте.",[18,275,277],{"id":276},"конфигурация-и-хранение-данных","Конфигурация и хранение данных",[23,279,280,288,296,304],{},[26,281,282,287],{},[29,283,286],{"href":284,"rel":285},"https:\u002F\u002Fkubernetes.io\u002Fdocs\u002Fconcepts\u002Fconfiguration\u002Fconfigmap\u002F",[33],"ConfigMaps"," — как выносить конфигурацию из образа и подключать ее через env или файлы.",[26,289,290,295],{},[29,291,294],{"href":292,"rel":293},"https:\u002F\u002Fkubernetes.io\u002Fdocs\u002Fconcepts\u002Fconfiguration\u002Fsecret\u002F",[33],"Secrets"," — базовые правила хранения чувствительных данных и ограничения стандартных Secret.",[26,297,298,303],{},[29,299,302],{"href":300,"rel":301},"https:\u002F\u002Fkubernetes.io\u002Fdocs\u002Fconcepts\u002Fstorage\u002Fpersistent-volumes\u002F",[33],"Persistent Volumes"," — PV, PVC, access modes и жизненный цикл постоянного хранилища.",[26,305,306,311],{},[29,307,310],{"href":308,"rel":309},"https:\u002F\u002Fkubernetes.io\u002Fdocs\u002Fconcepts\u002Fstorage\u002Fstorage-classes\u002F",[33],"Storage Classes"," — динамическое выделение дисков и выбор storage backend.",[18,313,315],{"id":314},"масштабирование-и-планирование","Масштабирование и планирование",[23,317,318,326,334,342],{},[26,319,320,325],{},[29,321,324],{"href":322,"rel":323},"https:\u002F\u002Fkubernetes.io\u002Fdocs\u002Ftasks\u002Frun-application\u002Fhorizontal-pod-autoscale\u002F",[33],"Horizontal Pod Autoscaling"," — как HPA масштабирует реплики по CPU, памяти и custom metrics.",[26,327,328,333],{},[29,329,332],{"href":330,"rel":331},"https:\u002F\u002Fkubernetes.io\u002Fdocs\u002Fconcepts\u002Fscheduling-eviction\u002Fassign-pod-node\u002F",[33],"Assigning Pods to Nodes"," — nodeSelector, affinity и правила размещения Pod'ов.",[26,335,336,341],{},[29,337,340],{"href":338,"rel":339},"https:\u002F\u002Fkubernetes.io\u002Fdocs\u002Fconcepts\u002Fscheduling-eviction\u002Ftaint-and-toleration\u002F",[33],"Taints and Tolerations"," — как отталкивать Pod'ы от нод и разрешать исключения.",[26,343,344,349],{},[29,345,348],{"href":346,"rel":347},"https:\u002F\u002Fkubernetes.io\u002Fdocs\u002Fconcepts\u002Fconfiguration\u002Fmanage-resources-containers\u002F",[33],"Resource Management for Pods and Containers"," — requests, limits и влияние ресурсов на планирование.",{"title":351,"searchDepth":352,"depth":352,"links":353},"",2,[354,355,356,357,358,359,360,361],{"id":20,"depth":352,"text":21},{"id":62,"depth":352,"text":63},{"id":124,"depth":352,"text":125},{"id":162,"depth":352,"text":163},{"id":200,"depth":352,"text":201},{"id":238,"depth":352,"text":239},{"id":276,"depth":352,"text":277},{"id":314,"depth":352,"text":315},1781022065054]