Если процесс удерживает файловые дескрипторы и вам нужно их освободить, то есть несколько способов это сделать.
Самый простой способ — завершить процесс, который удерживает файловые дескрипторы.
kill <PID>
или принудительно
kill -9 <PID>
Чтобы найти процессы, удерживающие файлы
lsof | grep <filename>
или
fuser <filename>
Если вы хотите закрыть файловый дескриптор, не завершая процесс, можно использовать
lsof
и /proc
ls -l /proc/<PID>/fd/
exec 3>&-
Если процесс нельзя перезапустить, но вы имеете к нему доступ, можно закрыть дескриптор через
gdb
: gdb -p <PID>
(gdb) call close(<FD>)
(gdb) detach
(gdb) quit
Если файл удален, но все еще удерживается процессом, можно принудительно перемонтировать файловую систему:
mount -o remount /
Или использовать
lsof
для очистки удаленных файловlsof | grep deleted
Если файлы удерживаются службой (например, Nginx, Apache, MySQL), можно перезапустить службу
systemctl restart <service>
или
service <service> restart
Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Это два смысла одного сокращения:
- Continuous Delivery (непрерывная доставка) — код всегда готов к деплою, но деплой в прод по кнопке.
- Continuous Deployment (непрерывное развёртывание) — код автоматически деплоится в прод после прохождения всех тестов.
Delivery — ручной шаг, Deployment — полностью автоматизированный.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
💊7👍2🤔1
Это практика управления и настройки IT-инфраструктуры (серверов, сетей, баз данных и других ресурсов) с помощью кода, а не вручную через консоли или графические интерфейсы.
вместо ручной настройки серверов вы пишете код, который делает это автоматически.
одинаковая среда на всех серверах, исключение человеческих ошибок.
развернуть инфраструктуру можно за минуты.
если что-то пошло не так, можно быстро вернуть предыдущее состояние.
легко добавить новые серверы или ресурсы при увеличении нагрузки.
С помощью IaC вы описываете всю инфраструктуру в коде (например, в YAML, JSON, HCL и др.), а затем используете инструменты для автоматического развертывания.
provider "aws" {
region = "us-east-1"
}
resource "aws_instance" "example" {
ami = "ami-0c55b159cbfafe1f0"
instance_type = "t2.micro"
}
универсальный инструмент для облаков (AWS, Azure, GCP и др.).
удобен для настройки серверов (конфигурации ПО).
похожи на Ansible, но требуют агента на серверах.
инструмент от AWS для управления ресурсами.
Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Чаще всего:
- /etc/os-release — стандартный файл с названием и версией дистрибутива.
- Иногда: /etc/issue, /etc/lsb-release (в зависимости от дистрибутива).
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥1
Это архитектурная модель, разработанная Docker для управления сетями контейнеров. Она описывает, как создаются, управляются и взаимодействуют сетевые компоненты в Docker-контейнерах. CNM служит основой для организации сетей Docker и позволяет подключать контейнеры к различным сетевым средам, обеспечивая гибкость, масштабируемость и безопасность.
Это изолированная среда, где настраиваются сетевые интерфейсы контейнера, такие как IP-адреса, маршруты и DNS. Что включает: veth-пара интерфейсов (виртуальный Ethernet): соединяет контейнер с внешней сетью. Конфигурации маршрутов и сетевых правил.
Точка подключения контейнера к сети. Функции: Обеспечивает контейнеру связь с другими контейнерами или внешними сетями. Соединяет Sandbox с Network.
Логическая сущность, объединяющая Endpoints для обеспечения взаимодействия контейнеров. Типы сетей в Docker:
bridge: Локальная сеть, позволяющая контейнерам взаимодействовать на одном хосте.
host: Контейнеры используют сетевой стек хоста без изоляции.
none: Сеть отключена; контейнер полностью изолирован.
overlay: Распределенная сеть для связи контейнеров на разных хостах.
macvlan: Контейнеры получают прямой доступ к физической сети.
Создается Sandbox, где настраиваются сетевые параметры контейнера.
Создается Endpoint, который подключает контейнер к выбранной сети.
Endpoint добавляется в Network, что позволяет контейнеру взаимодействовать с другими узлами.
Легко подключать контейнеры к различным типам сетей.
Обеспечивает безопасность, изолируя сетевые пространства контейнеров.
CNM поддерживает сторонние плагины для интеграции с другими сетевыми решениями (например, Calico, Flannel).
Позволяет контролировать настройки сети через команды Docker.
docker network create my_bridge
docker run --network my_bridge -d nginx
Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Поды ReplicaSet получают случайное имя с хешем — например, myapp-6c79f8fd58-k9xpf. А поды StatefulSet получают предсказуемые имена — например, db-0, db-1, db-2, где номер отражает порядок.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥1