Kubernetes · 2 min read · Dec 14, 2025
Статические поды в Kubernetes

Статические поды управляются непосредственно kubelet, и API сервер не имеет контроля над этими подами. Kubelet отвечает за наблюдение за каждым статическим подом и перезапускает его в случае сбоя. Статические поды, работающие на узле, видны на API сервере, но не могут контролироваться API сервером. Статический под не имеет связанного контроллера репликации, сам сервис kubelet наблюдает за ним и перезапускает его, когда он выходит из строя. Для статических подов нет проверки состояния. Процесс kubelet наблюдает за определенной директорией, предназначенной для статических подов.
Чтобы узнать больше о статических подах, посетите официальную страницу Kubernetes здесь.
В этой статье мы рассмотрим шаги по созданию статического пода из файла, сохраненного в стандартном месте, откуда kubelet считывает манифесты, а также изменим стандартное местоположение на другую директорию и создадим статический под оттуда. Мы создадим статические поды на рабочем узле.
Предварительные требования
- Кластер Kubernetes с как минимум 1 рабочим узлом.
Если вы хотите научиться создавать кластер Kubernetes, нажмите здесь. Этот гид поможет вам создать кластер Kubernetes с 1 мастером и 2 узлами на AWS Ubuntu 18.04 EC2 Instances.
Что мы будем делать?
- Создать статические поды
Создание статических подов
Выполните следующие команды с мастер-узла, чтобы получить информацию о узлах и подах в кластере.
$master kubectl get nodes$master kubectl get pods
Вы можете проверить контейнеры, работающие в рамках подов
$worker docker ps$worker docker ps -aТеперь войдите на рабочий узел и создайте новый файл со следующим содержимым в стандартном пути манифестов статических подов.
$worker vim /etc/kubernetes/manifests/static-web.yamlapiVersion: v1
kind: Pod
metadata:
name: static-web
labels:
role: myrole
spec:
containers:
- name: web
image: nginx
ports:
- name: web
containerPort: 80
protocol: TCP
Как только вы создаете определение пода в стандартном месте манифестов статических подов, под создается, который не контролируется API сервером.
Вы можете проверить вновь созданный под с помощью следующей команды, чтобы перечислить поды из всех пространств имен с мастер-узла.
$master kubectl get pods$master kubectl get pods --all-namespaces
Чтобы проверить контейнеры, созданные в рамках пода, выполните следующую команду на рабочем узле
$worker docker ps$worker docker ps -aМы также можем изменить стандартное местоположение, откуда kubelet считывает манифесты.
Теперь создайте новую папку, где мы хотели бы хранить манифесты статических подов.
Здесь мы создаем “/etc/kubelet.d/“.
$worker mkdir -p /etc/kubelet.d/Создайте файл определения пода в директории, которую мы создали.
$worker vim /etc/kubelet.d/static-web.yamlapiVersion: v1
kind: Pod
metadata:
name: static-web-2
labels:
role: myrole
spec:
containers:
- name: web
image: nginx
ports:
- name: web
containerPort: 80
protocol: TCPЧтобы изменить стандартный путь, откуда Kubelet считывает манифесты статических подов, отредактируйте файл /var/lib/kubelet/config.yaml и измените значение “staticPodPath” на “staticPodPath=/etc/kubelet.d”.

После того как конфигурация будет установлена, перезапустите службу Kubelet
$worker systemctl restart kubeletКак только служба будет перезапущена, Kubelet обнаружит новое местоположение и будет считывать манифесты из этого местоположения и создавать поды.
Проверьте, был ли создан под или нет.
$master kubectl get podsПроверьте контейнер, созданный в рамках пода на рабочем узле, используя следующую команду.
$worker docker psЗаключение
В этой статье мы рассмотрели шаги по созданию статических подов, а также изменения конфигурации, необходимые в Kubelet для изменения стандартной директории для манифестов статических подов.
Get new posts in your inbox
No spam. Unsubscribe anytime.