DevOps | Вопросы собесов
5.33K subscribers
30 photos
962 links
Download Telegram
🤔 Есть приложение, мы его запускаем, и оно завершается с кодом, не равным 0. Как его подебажить?

1. Посмотреть exit code — может указать тип ошибки.
2. Проверить логи приложения.
3. Добавить логирование и вывод ошибок в консоль.
4. Запустить через strace или gdb.
5. Проверить зависимости, переменные окружения, права на доступ.
Ненулевой код означает ошибку исполнения — важно найти её источник.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
💊2
🤔 Удалил файлы, но место не очищается, в чем дело?

Если вы удалили файлы, но место на диске не освободилось, это может происходить по нескольким причинам.

🚩Файл все еще используется процессом

Если файл удален, но он открыт каким-либо процессом, его содержимое остается в памяти или файловой системе до завершения работы этого процесса. Это называется "удаление с дескриптором".

🟠Как проверить:
Используйте команду lsof (list open files), чтобы найти процессы, удерживающие файл
lsof | grep deleted


🟠Как исправить
Перезапустите процесс или завершите его с помощью kill:
kill -9 <PID>


🚩Файл удален, но он находился в другом файловом пространстве

Например:
- Файл был удален внутри Docker-контейнера, но место занято в образе.
- Файл находился на смонтированном диске, и удаление произошло в другом контексте.

🟠Как проверить
Убедитесь, что вы работаете в правильной файловой системе:
df -h


🟠Как исправить
Убедитесь, что удаление происходит в нужной директории или файловой системе.

🚩Файл был удален из директории, но находится в другой ссылке (hard link)

Если файл имеет несколько жестких ссылок, удаление одного из них не освободит место до тех пор, пока не удалены все ссылки.

🟠Как проверить
Используйте команду find, чтобы найти оставшиеся ссылки:
find / -samefile <имя_файла>


🟠Как исправить
Удалите все ссылки на файл.

🚩Файл был удален, но находился в файловой системе с квотой

Если используется файловая система с ограничением (например, квоты пользователей или групп), возможно, квота пользователя исчерпана, и это мешает очистке.

🟠Как проверить
Проверьте квоты:
quota -u <username>


🟠Как исправить
Убедитесь, что квоты настроены правильно, или освободите больше места.

🚩Кэшированные данные или временные файлы

Иногда удаленные файлы остаются в виде кэша, временных данных или не удаляются из корзины.

🟠Как проверить
Очистите кэш или проверьте корзину. Например, для очистки временных файлов
sudo du -sh /tmp
sudo rm -rf /tmp/*


🟠Как исправить
Удалите временные файлы, очистите кэш:
sudo sync && sudo echo 3 > /proc/sys/vm/drop_caches


Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
🤔 Какие есть уровни изоляции в SQL?

- READ UNCOMMITTED — видны даже незакоммиченные изменения (опасно).
- READ COMMITTED — читаем только закоммиченные данные (по умолчанию в PostgreSQL).
- REPEATABLE READ — данные не изменяются в рамках транзакции.
- SERIALIZABLE — максимальная защита, как будто операции идут последовательно.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2🤔2💊1
🤔 Какие таблицы прописывал в iptables?

В iptables есть 5 таблиц, но чаще всего работают с тремя:

🟠`filter`
основная таблица для контроля трафика (используется по умолчанию)
🟠`nat`
для трансляции адресов (SNAT, DNAT, редиректы)
🟠`mangle`
для изменения пакетов (маркировка, TTL, QoS)
🟠`raw`
для исключения пакетов из обработки conntrack
🟠`security`
используется в SELinux для меток безопасности

🚩Таблица `filter` (фильтрация пакетов)

Используется для разрешения или блокировки трафика.
iptables -P INPUT DROP  
iptables -A INPUT -p tcp --dport 22 -j ACCEPT


🚩Таблица `nat` (трансляция адресов)

Используется для NAT, порт-форвардинга, маскарадинга.
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE  


Пример: Проброс порта (DNAT) – входящие пакеты на 80 порт перенаправляем на 8080
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080  


🚩Таблица `mangle` (изменение пакетов)

Используется для маркировки пакетов, изменения TTL, QoS.
iptables -t mangle -A POSTROUTING -j TTL --ttl-set 64  


Пример: Маркировка пакетов для использования в tc (QoS)
iptables -t mangle -A PREROUTING -p tcp --dport 22 -j MARK --set-mark 1


Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 В чём разница в директориях /var и /default?

- /var — стандартная директория Linux для хранения изменяемых данных: логи, спулы, кэш, временные данные;
- /default — не является стандартной и может быть частью прикладных настроек, например, конфигураций по умолчанию в /etc/default/.
Важно не путать её с системными каталогами.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
💊4👍1
🤔 Какие метрики стоит снимать с докер контейнеров?

Чтобы мониторить Docker-контейнеры, нужно отслеживать ключевые метрики, которые помогут определить нагрузку, утечки памяти, падения контейнеров и проблемы с сетью.
CPU (Нагрузка на процессор)
Memory (Использование памяти)
Network (Сетевой трафик)
Disk I/O (Диск и файловая система)
Container Lifecycle (Состояние контейнеров)

🟠CPU (Загрузка процессора)
% использования CPU контейнером
% CPU в системе и пользователе
Throttling (ограничение CPU)
docker stats --format "table {{.Name}}\t{{.CPUPerc}}"


Метрика в Prometheus (cadvisor)
rate(container_cpu_usage_seconds_total{name="my-container"}[5m]) * 100


🟠Memory (Использование памяти)
RSS (реальная память, используемая процессами)
Cache (используемая кэшированная память)
OOM (Out of Memory kills)
docker stats --format "table {{.Name}}\t{{.MemUsage}}"


Метрика в Prometheus
container_memory_usage_bytes{name="my-container"}


🟠Network (Сетевой трафик)
Rx/Tx Bytes (входящий и исходящий трафик)
Количество соединений
docker stats --format "table {{.Name}}\t{{.NetIO}}"


Метрика в Prometheus
rate(container_network_transmit_bytes_total{name="my-container"}[5m])


🟠Disk I/O (Чтение/запись на диск)
Количество операций чтения/записи
Объем данных, записанных/прочитанных контейнером
docker stats --format "table {{.Name}}\t{{.BlockIO}}"


Метрика в Prometheus
rate(container_fs_writes_bytes_total{name="my-container"}[5m])


🟠Container Lifecycle (Состояние контейнеров)
Перезапуски контейнера (Restart Count)
Состояние контейнера (Running, Exited, Dead)
docker ps -a --format "table {{.Names}}\t{{.Status}}\t{{.Restarts}}"


Метрика в Prometheus
container_start_time_seconds{name="my-container"}


Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
🤔 Как обновлять чарты в Helm?

- Обновить значения в values.yaml.
- Выполнить:
- helm upgrade <release-name> <chart-path> -f values.yaml
Или в CI/CD — helm upgrade с актуальными переменными среды.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
🤔 Что такое config map в кубере?

ConfigMap в Kubernetes – это механизм хранения конфигурационных данных. Он позволяет разделять код приложения и настройки, храня конфигурацию в виде ключ-значение. ConfigMap удобен для передачи переменных окружения, файлов конфигурации, командных аргументов без изменения образа контейнера.

🚩Основные способы использования ConfigMap

🟠Переменные окружения
передача настроек через ENV.
🟠Файлы конфигурации
монтирование в контейнер как файл.
🟠Параметры командной строки
передача аргументов в command.

🚩Как создать ConfigMap?

1⃣Создание из манифеста
apiVersion: v1
kind: ConfigMap
metadata:
name: my-config
data:
APP_ENV: "production"
LOG_LEVEL: "debug"
CONFIG_FILE: |
[settings]
mode = "production"
debug = true


2⃣Создание из командной строки
kubectl create configmap my-config --from-literal=APP_ENV=production --from-literal=LOG_LEVEL=debug


3⃣Создание из файла
kubectl create configmap my-config --from-file=config.ini


🚩Как использовать ConfigMap в подах?

1⃣Как переменные окружения
apiVersion: v1
kind: Pod
metadata:
name: my-app
spec:
containers:
- name: app
image: my-app
env:
- name: APP_ENV
valueFrom:
configMapKeyRef:
name: my-config
key: APP_ENV


2⃣Как монтируемый файл
apiVersion: v1
kind: Pod
metadata:
name: my-app
spec:
containers:
- name: app
image: my-app
volumeMounts:
- name: config-volume
mountPath: "/etc/config"
volumes:
- name: config-volume
configMap:
name: my-config


Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
🤔 Какие есть правила, которые запрещают запускаться какой-либо ноде?

Существует несколько правил и механизмов:
- taints — метки, не позволяющие запускать pod'ы на ноде без соответствующего toleration.
- nodeSelector, nodeAffinity — указывают, на каких нодах pod может или не может работать.
- Ресурсные ограничения — если pod требует больше ресурсов, чем нода может предоставить.
- Зоны доступности (topologySpreadConstraints), политики безопасности (PodSecurityPolicy) тоже могут ограничивать размещение.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
🤔 Как найти запущенный процесс?

В операционных системах на базе Unix и Linux для поиска запущенных процессов используются различные команды.

🟠Команда `ps`
Команда ps отображает список текущих процессов. Часто используемые опции:
ps aux: Показывает все процессы в системе.
ps -ef: Альтернативный формат вывода всех процессов.
ps aux | grep <имя_процесса>


🟠Команда `top`
Команда top показывает список процессов в реальном времени, обновляя его каждые несколько секунд. Это удобно для мониторинга системы и поиска процессов с высокой загрузкой CPU или памяти.
top


🟠Команда `htop`
Команда htop — это улучшенная версия top, предоставляющая более удобный интерфейс для мониторинга процессов. Она должна быть установлена отдельно.
sudo apt-get install htop
htop


🟠Команда `pgrep`
Команда pgrep используется для поиска процессов по имени. Она возвращает идентификаторы (PID) процессов, соответствующих критериям поиска.

Пример использования:
pgrep <имя_процесса>


🟠Команда `pidof`
Команда pidof возвращает идентификаторы (PID) процессов с указанным именем.
pidof <имя_процесса>


🟠Команда `ps` с фильтрацией
Для более точного поиска можно использовать команду ps с фильтрацией через grep.
ps aux | grep <имя_процесса> | grep -v grep


🟠Команда `lsof`
Команда lsof отображает список открытых файлов и может использоваться для поиска процессов, открывающих определенные файлы.
sudo lsof -i :<номер_порта>


🚩Пример поиска конкретного процесса

Допустим, вам нужно найти процесс с именем nginx. Вот несколько способов сделать это
Использование ps
ps aux | grep nginx | grep -v grep


Использование pgrep
pgrep nginx


Использование pidof
pidof nginx


🚩Использование `top` или `htop`

Запустите top или htop и найдите процесс nginx в интерактивном режиме.

Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🤔 Что такое Groovy?

Groovy — это динамический язык программирования для JVM, с лаконичным синтаксисом, совместимым с Java. Он часто используется в:
- Jenkins pipelines (Jenkinsfile пишется на Groovy).
- Сценариях автоматизации.
- В проектах, где нужно расширить Java-библиотеки.
Groovy позволяет писать более выразительный и компактный код по сравнению с Java, сохраняя совместимость с Java API.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
💊1
🤔 Может ли быть несколько контейнеров в поде?

Да, в Kubernetes Pod можно запускать несколько контейнеров, и это обычная практика. Pod — это минимальная единица развертывания в Kubernetes которая может содержать один или несколько контейнеров.

🚩Зачем запускать несколько контейнеров в одном Pod?

🟠Sidecar-контейнеры
вспомогательные контейнеры, дополняющие основное приложение (логирование, прокси, безопасность).
🟠Init-контейнеры
выполняют задачи перед запуском основного контейнера (например, подготовка базы данных).
🟠Общий файловый кэш
контейнеры могут использовать общие тома (volumes) для хранения данных.
🟠Общий сетевой стек
контейнеры в одном Pod разделяют IP-адрес и порты.

🚩Пример: два контейнера в одном Pod (Nginx + логирование)

Допустим, у нас есть Nginx и отдельный контейнер, который собирает его логи.
yaml  
apiVersion: v1
kind: Pod
metadata:
name: nginx-pod
spec:
containers:
- name: nginx
image: nginx
volumeMounts:
- name: log-volume
mountPath: /var/log/nginx

- name: log-collector
image: busybox
command: ["sh", "-c", "tail -f /var/log/nginx/access.log"]
volumeMounts:
- name: log-volume
mountPath: /var/log/nginx

volumes:
- name: log-volume
emptyDir: {}



🚩Как работают контейнеры внутри Pod?

Все контейнеры внутри Pod имеют один IP-адрес и могут взаимодействовать через localhost.
Например, если в одном контейнере работает Node.js на порту 3000, другой контейнер внутри Pod может обращаться к нему через localhost:3000.
Контейнеры могут делиться файлами через volumes, как в примере выше.
Если нужно выполнить команду перед запуском основного контейнера, используют initContainers.
yaml  
apiVersion: v1
kind: Pod
metadata:
name: app-pod
spec:
initContainers:
- name: wait-for-db
image: busybox
command: ["sh", "-c", "until nc -z db-service 5432; do sleep 1; done"]

containers:
- name: app
image: my-app


Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Зачем нужен keep-alive в Vue?

<keep-alive> используется для кеширования компонентов, чтобы они не уничтожались при удалении из DOM, а сохраняли своё состояние. Полезно:
- При переключении между вкладками или страницами.
- Когда нужно сохранить форму, прокрутку, данные и т.п.
Работает только с динамическими компонентами (<component :is="...">).


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
🤔 Какая самая главная питоновская библиотека?

Она идёт в комплекте с Python и включает всё необходимое: работу с файлами, сетью, регулярными выражениями, математикой и т. д.

🚩Примеры важных модулей из `stdlib`

🟠`os`
работа с файловой системой
🟠`sys`
доступ к системным параметрам
🟠`re`
регулярные выражения
🟠`math`
математика
🟠`datetime`
работа с датами
🟠`json`
парсинг JSON
🟠`logging`
логирование
🟠`asyncio`
асинхронность
🟠`http.server`
встроенный HTTP-сервер

Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
💊4👍1
🤔 Какие этапы и виды тестирования есть в процессе сборки приложения?

- Unit-тесты — проверка логики каждого компонента.
- Интеграционные — проверка взаимодействия между модулями.
- E2E/UI — через браузеры или симуляцию пользовательских действий.
- Security — статический анализ, сканирование уязвимостей.
- Performance — нагрузочные/стресс тесты.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2💊1
🤔 Как мы можем с помощью cloudfront сохранить бюджет на использование сервисов?

Amazon CloudFront — это CDN (Content Delivery Network), которая помогает оптимизировать затраты на трафик и нагрузку на серверы. Использование CloudFront позволяет экономить бюджет на AWS-сервисах следующими способами:

🟠Кеширование контента (уменьшение нагрузки на бэкенд)
CloudFront кэширует статический и динамический контент, что снижает количество запросов к вашим основным серверам (например, EC2, S3, API Gateway, Lambda).
Меньше запросов к S3 (меньше операций GET, а они платные).
Меньше запросов к API Gateway и Lambda (так как CloudFront может кешировать ответы API).
Экономия на EC2 и RDS, так как нагрузка перераспределяется.

🟠Использование бесплатного трафика между CloudFront и S3
Когда CloudFront забирает файлы из S3 в том же регионе, за исходящий трафик из S3 не взимается плата. Исходящий трафик из S3 в интернет стоит ≈ $0.09 за ГБ. Исходящий трафик из CloudFront в интернет дешевле (например, первые 1 ТБ в месяц — бесплатно).

🟠Снижение стоимости глобального трафика
Если у вас клиенты в разных странах, CloudFront дешевле, чем стандартный AWS-трафик. Исходящий трафик из CloudFront в интернет в среднем на 30-50% дешевле, чем прямой выход из EC2 или S3. AWS часто снижает цены на CloudFront трафик в рамках программ оптимизации.

🟠Фильтрация ненужного трафика (ботов, DDoS, парсеров)
CloudFront позволяет использовать AWS WAF (Web Application Firewall) для блокировки вредоносных запросов. Меньше запросов к бэкенду (EC2, API Gateway, Lambda). Защита от DDoS (AWS Shield Standard бесплатен для CloudFront).

🟠Кеширование динамического контента
CloudFront поддерживает TTL (Time-to-Live) для кэширования даже динамических API-ответов. Вместо запроса к API Gateway/Lambda, CloudFront может вернуть кэшированный ответ. Можно настроить "Stale While Revalidate" — клиент получает устаревший контент, пока идет обновление.

🟠Гибкое управление ценой через региональные edge-локации
CloudFront позволяет управлять ценами, ограничивая определенные регионы. Можно исключить дорогие регионы (например, Южную Америку, где трафик дороже). Можно использовать AWS Origin Shield для дополнительного кеширования между регионами.

🟠Использование CloudFront Functions вместо AWS Lambda
CloudFront поддерживает CloudFront Functions, которые выполняются прямо на edge-узлах и дешевле, чем Lambda@Edge. CloudFront Functions работают быстрее и стоят $0.10 за миллион запросов. Lambda@Edge стоит $0.60 за миллион запросов + плата за выполнение.

Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Что такое написание скриптов?

Это процесс создания автоматизированных последовательностей команд, обычно для выполнения рутинных операций, настройки, тестирования или развёртывания. Часто используются bash, python, PowerShell.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
💊8👍2
🤔 Как сделать донастройку контейнера?

Донастройка контейнера может понадобиться, если:
Нужно изменить файлы конфигурации.
Установить дополнительные пакеты.
Задать переменные среды.
Подключить тома или сети.

Варианты донастройки: через Dockerfile, docker-compose, exec, тома и Entrypoint/CMD.

🟠Донастройка через Dockerfile (Лучший способ)
Если контейнер нужно модифицировать перед запуском, создаем свой Dockerfile на основе существующего образа.
FROM nginx:latest
COPY my-nginx.conf /etc/nginx/nginx.conf
CMD ["nginx", "-g", "daemon off;"]


Собираем новый образ
docker build -t my-nginx .
docker run -d -p 80:80 my-nginx


🟠Донастройка через `docker-compose` (Гибкость)
Можно задать окружение, тома, команды.
version: '3'
services:
db:
image: postgres:15
environment:
POSTGRES_USER: admin
POSTGRES_PASSWORD: secret
POSTGRES_DB: mydb
volumes:
- ./custom-postgres.conf:/etc/postgresql/postgresql.conf
command: postgres -c config_file=/etc/postgresql/postgresql.conf


Запуск
docker-compose up -d


🟠Донастройка запущенного контейнера (`docker exec`)
Если контейнер уже работает, можно внести изменения прямо в него.
docker exec -it my-container bash
apt update && apt install -y vim


🟠Донастройка через тома (Volumes)
Если нужно изменять файлы без пересборки образа, подключаем тома.
docker run -d -p 80:80 -v $(pwd)/nginx.conf:/etc/nginx/nginx.conf nginx


🟠Использование `ENTRYPOINT` или `CMD`
Можно задать скрипт донастройки, который выполнится при старте контейнера.
FROM postgres:15
COPY setup.sh /docker-entrypoint-initdb.d/setup.sh
RUN chmod +x /docker-entrypoint-initdb.d/setup.sh


В setup.sh:
#!/bin/bash
psql -U postgres -d mydb -c "CREATE TABLE test (id SERIAL PRIMARY KEY);"


Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Почему мы используем Deployment над ReplicaSet, а не напрямую?

Deployment предоставляет более высокий уровень абстракции и автоматизирует обновления, масштабирование, откаты и ведение истории. ReplicaSet только поддерживает нужное количество подов, но не управляет версионированием и обновлениями. С использованием Deployment всё это делается проще и безопаснее.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥2
🤔 Что такое pv, pvc?

Это понятия из Kubernetes, которые используются для управления хранилищем данных (storage). Они решают задачу обеспечения долгоживущего хранилища для приложений, которое сохраняется независимо от жизненного цикла подов (Pods).

🚩Persistent Volume (PV)

Это объект Kubernetes, который представляет физическое хранилище, доступное в кластере. Это может быть локальное хранилище, сетевой диск (например, NFS), или облачный сервис хранения (например, Amazon EBS, Google Persistent Disk, Azure Disk).

PV создается администратором или автоматически через StorageClass. Это ресурс хранилища, выделенный для использования в кластере. Независим от подов, что позволяет хранить данные, даже если под был удален или перезапущен.

apiVersion: v1
kind: PersistentVolume
metadata:
name: my-pv
spec:
capacity:
storage: 5Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
hostPath:
path: "/mnt/data"


🚩Persistent Volume Claim (PVC)

Это запрос на использование хранилища (PV) со стороны пользователя или приложения. Это как "заявка" на нужное количество места и определенный тип хранилища.

PVC создается разработчиком или приложением. PVC связывается с подходящим PV, который соответствует запросу. Если подходящий PV найден, он "привязывается" к PVC.

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: my-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 5Gi


🚩Как работают PV и PVC вместе?

🟠Создание PV
Администратор или динамическое создание выделяет хранилище (например, сетевой диск).

🟠Создание PVC
Приложение запрашивает хранилище с помощью PVC.

🟠Привязка
Kubernetes автоматически находит подходящий PV, который соответствует запросу PVC (по размерам, режимам доступа и другим параметрам). После этого PVC "связывается" с PV.

🟠Использование в поде
PVC указывается в поде как volume, что позволяет контейнерам работать с данным хранилищем.

apiVersion: v1
kind: Pod
metadata:
name: my-pod
spec:
containers:
- name: my-container
image: nginx
volumeMounts:
- mountPath: "/data"
name: my-storage
volumes:
- name: my-storage
persistentVolumeClaim:
claimName: my-pvc


Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
🤔 Что такое селектор?

Селектор (label selector) используется для выбора ресурсов по меткам. Например, Deployment использует селектор, чтобы знать, какие Pods ему управлять.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1