> Что такое поды в Kubernetes (Go)

Уровень: junior · Роль: backend · Язык: Go · Категория: Технические вопросы

Компании: Avito

Стек: Go

> Пример ответа

Поды (Pods) - это наименьшая и основная единица развертывания в Kubernetes. Под представляет собой один или несколько контейнеров, которые разделяют общие ресурсы: сетевой стек (IP-адрес, порты), хранилище (тома) и пространство имен. Контейнеры внутри пода всегда запускаются на одном узле и могут взаимодействовать через localhost.

В Go-разработке поды часто используются для запуска микросервисов. Например, приложение на Go может быть упаковано в один контейнер внутри пода, а рядом можно разместить sidecar-контейнер (например, для логирования или мониторинга). Поды эфемерны - они создаются, уничтожаются и пересоздаются контроллерами (например, Deployment), что обеспечивает отказоустойчивость и масштабирование.

Ключевые аспекты:

  • Один IP на под - все контейнеры используют один сетевой интерфейс.
  • Общие тома - контейнеры могут монтировать одни и те же volumes.
  • Жизненный цикл - поды не восстанавливаются сами; их управляют контроллеры (ReplicaSet, StatefulSet и т.д.).

Пример простого пода на Go-приложении:

YAML
apiVersion: v1
kind: Pod
metadata:
name: go-app
spec:
containers:
- name: app
image: my-go-app:latest
ports:
- containerPort: 8080

В Go-коде можно использовать клиентскую библиотеку client-go для программного управления подами, например, для создания или мониторинга их состояния.

> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?

Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью