[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"question-kubernetes-chto-takoe-init-konteynery-i-sidecar-konteynery":3},{"id":4,"slug":5,"topicId":6,"topicSlug":7,"topicName":8,"topicEmoji":9,"question":10,"answer":11,"codeLang":12,"codeSrc":12,"important":12,"commonMistakes":12,"modernUsage":12,"difficulty":13,"tags":14,"related":15,"progress":16,"seo":17},1311,"chto-takoe-init-konteynery-i-sidecar-konteynery",26,"kubernetes","Kubernetes","☸️","Что такое Init-контейнеры и Sidecar-контейнеры?","Init-контейнеры и Sidecar-контейнеры — два паттерна для расширения функциональности Pod'а через дополнительные контейнеры. Init-контейнеры запускаются до основного приложения, Sidecar-контейнеры работают параллельно с ним.\n\n### Init-контейнеры\n\nInit-контейнеры — специальные контейнеры, которые запускаются до основных контейнеров Pod'а. Они выполняются последовательно, каждый следующий стартует только после успешного завершения предыдущего.\n\nТипичные сценарии использования:\n\n- Ожидание готовности базы данных или другого сервиса перед стартом приложения\n- Загрузка конфигурации или секретов из внешнего хранилища\n- Выполнение миграций базы данных (Liquibase, Flyway)\n- Настройка файловой системы или прав доступа\n\n\u003Cdetails>\n\u003Csummary>Пример Pod с Init-контейнерами\u003C\u002Fsummary>\n\n```yaml\napiVersion: v1\nkind: Pod\nmetadata:\n  name: my-app\nspec:\n  initContainers:\n    - name: wait-for-db\n      image: busybox:1.36\n      command: ['sh', '-c', 'until nc -z postgres-service 5432; do echo \"Waiting for DB...\"; sleep 2; done']\n    - name: run-migrations\n      image: my-registry\u002Fmy-app-migrations:1.0.0\n      command: ['java', '-jar', 'migrations.jar']\n  containers:\n    - name: app\n      image: my-registry\u002Fmy-java-app:1.0.0\n      ports:\n        - containerPort: 8080\n```\n\n\u003C\u002Fdetails>\n\n### Sidecar-контейнеры\n\nSidecar-контейнеры — дополнительные контейнеры, которые работают параллельно с основным контейнером в одном Pod'е. Они расширяют функциональность основного контейнера.\n\nТипичные сценарии использования:\n\n- Логирование — сбор и отправка логов (Fluentd, Filebeat)\n- Прокси — Envoy\u002FIstio sidecar для service mesh\n- Мониторинг — экспорт метрик\n- Синхронизация данных — загрузка конфигурации из внешнего источника\n\n\u003Cdetails>\n\u003Csummary>Пример Pod с Sidecar-контейнером\u003C\u002Fsummary>\n\n```yaml\napiVersion: v1\nkind: Pod\nmetadata:\n  name: app-with-sidecar\nspec:\n  containers:\n    - name: app\n      image: my-registry\u002Fmy-java-app:1.0.0\n      ports:\n        - containerPort: 8080\n      volumeMounts:\n        - name: logs\n          mountPath: \u002Fvar\u002Flog\u002Fapp\n    - name: log-collector\n      image: fluent\u002Ffluent-bit:latest\n      volumeMounts:\n        - name: logs\n          mountPath: \u002Fvar\u002Flog\u002Fapp\n          readOnly: true\n  volumes:\n    - name: logs\n      emptyDir: {}\n```\n\nВ этом примере основной контейнер пишет логи в общий том, а sidecar-контейнер `fluent-bit` читает их и отправляет в систему логирования.\n\n\u003C\u002Fdetails>\n\n> **На собеседовании:** интервьюер часто просит привести примеры использования Init- и Sidecar-контейнеров. Достаточно назвать 2-3 сценария для каждого. Частая ошибка — путать Init и Sidecar: Init завершается до старта основного контейнера, Sidecar работает параллельно всё время жизни Pod'а.","","middle",[7],[],null,{"title":18,"description":19,"ogTitle":18,"ogDescription":20,"keywords":21,"schemaAnswer":22,"featuredSnippetReady":23},"Что такое Init-контейнеры и Sidecar-контейнеры? — Gymterview","Init-контейнеры и Sidecar-контейнеры — два паттерна для расширения функциональности Pod'а через дополнительные контейнеры. Init-контейнеры запускаются до основн","Init-контейнеры и Sidecar-контейнеры — два паттерна для расширения функциональности Pod'а через дополнительные контейнер",[7,13],"Init-контейнеры и Sidecar-контейнеры — два паттерна для расширения функциональности Pod'а через дополнительные контейнеры. Init-контейнеры запускаются до основного приложения, Sidecar-контейнеры работают параллельно с ним.",true]