uk
Feedback
DevOps | Вопросы собесов

DevOps | Вопросы собесов

Відкрити в Telegram
5 498
Підписники
-724 години
-127 днів
-1630 день
Архів дописів
🤔 Как отменить последний коммит? 🚩Методы 🟠Отмена последнего коммита с сохранением изменений Команда git reset с параметром --soft отменяет последний коммит, но оставляет изменения в индексе (staging area), что позволяет вам внести изменения и закоммитить их снова. HEAD~1: указывает на один коммит назад от текущего HEAD. --soft: сохраняет изменения в индексе.
git reset --soft HEAD~1
🟠Отмена последнего коммита с сохранением изменений в рабочей директории Команда git reset с параметром --mixed отменяет последний коммит и сбрасывает индекс, но сохраняет изменения в рабочей директории. Это позволяет вам внести изменения и добавить их в индекс заново. --mixed: сбрасывает индекс, но сохраняет изменения в рабочей директории (по умолчанию).
git reset --mixed HEAD~1
🟠Отмена последнего коммита и изменений Команда git reset с параметром --hard отменяет последний коммит и удаляет все изменения как из индекса, так и из рабочей директории. Это действие необратимо и должно использоваться с осторожностью. `--hard`: сбрасывает индекс и рабочую директорию.
git reset --hard HEAD~1
🟠Отмена последнего коммита с помощью `git revert` Команда git revert создает новый коммит, который отменяет изменения, внесенные последним коммитом. Это сохраняет историю изменений и является более безопасным способом отмены коммита, особенно в публичных ветках. `HEAD`: указывает на последний коммит.
git revert HEAD
🚩Примеры использования 🟠Отмена последнего коммита с сохранением изменений в индексе
git reset --soft HEAD~1    
Проверка состояния:
git status    
🟠Отмена последнего коммита с сохранением изменений в рабочей директории
git reset --mixed HEAD~1    
Проверка состояния
git status    
Ставь 👍 и забирай 📚 Базу знаний

Бесплатное IT-образование в 2024 Отобрали для вас полезные телеграм-каналы, которые помогут освоить программирование и другие IT-направления Выбирайте нужное и подписывайтесь: 👩‍💻 Python: @PythonPortal 📱 GitHub: @git_developer 👩‍💻 Frontend: @FrontendPortal 🤓 Книги айти: @portalToIT 👩‍💻 Java: @Java_Iibrary 👩‍💻 C#: @KodBlog 👩‍💻 С/С++: @Cpportal ⚙️ Backend: @BackendPortal 🐞 Тестирование: @QAPortal 👩‍💻 DevOps: @loose_code 🖥 Базы Данных & SQL: @SQL 👩‍💻 Golang: @juniorGolang 👩‍💻 PHP: @PHPortal 👩‍💻 Моб. разработка: @MobDev 👩‍💻 Разработка игр: @GameDevgx 🖥 Data Science: @DataSciencegx 🤔 Хакинг & ИБ: @cybersecinform 📱 Маркетинг: @MarketingPortal 🖥 Дизайн: @PortalToDesign ➡️ Сохраняйте себе, чтобы не потерять

🤔 По какой причине inode могут закончиться? Inode могут закончиться на файловой системе, если создается большое количество мелких файлов. Каждый файл в UNIX-подобных системах использует inode для хранения метаданных. Если файловая система имеет ограниченное количество inode, и все они используются, новые файлы создать будет невозможно, даже если на диске еще есть свободное пространство. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

Скидка 15% на корпоративное такси. Яндекс Go для бизнеса Скидка 15% на первые три месяца. Возврат НДС до 20% на все рабочие п
Скидка 15% на корпоративное такси. Яндекс Go для бизнеса Скидка 15% на первые три месяца. Возврат НДС до 20% на все рабочие поездки. Контроль маршрутов и расходов в одном кабинете. Быстрая подача авто от 5 минут. Удобное онлайн-подключение без визита в офис. Узнать больше #реклама business.go.yandex О рекламодателе

🤔 Что такое cherry pick? Это команда в системе контроля версий Git, которая позволяет выбрать отдельные коммиты из одной ветки и применить их к другой ветке. Это полезно, когда вы хотите перенести конкретные изменения (коммиты) в текущую ветку, не выполняя слияние всей ветки. 🚩Когда используется 🟠Применение отдельных изменений Когда нужно перенести конкретные исправления или функции из одной ветки в другую, не сливая все изменения из исходной ветки. 🟠Быстрое исправление ошибок Когда найденное исправление в одной ветке нужно срочно применить в другой, например, из ветки разработки в ветку релиза. 🟠Избежание сложного слияния Когда слияние всей ветки может привести к конфликтам или нежелательным изменениям, cherry-pick позволяет аккуратно перенести только нужные коммиты. 🚩Примеры использования 🟠Простого `cherry-pick` Перенос одного коммита из другой ветки.
# Переключитесь на ветку, куда вы хотите применить изменения
git checkout target-branch

# Выполните cherry-pick коммита
git cherry-pick <commit-hash>
🟠Применения нескольких коммитов Перенос нескольких коммитов из другой ветки.
# Переключитесь на ветку, куда вы хотите применить изменения
git checkout target-branch

# Выполните cherry-pick нескольких коммитов
git cherry-pick <commit-hash-1> <commit-hash-2> <commit-hash-3>
🟠Применения диапазона коммитов Перенос диапазона коммитов из другой ветки.
# Переключитесь на ветку, куда вы хотите применить изменения
git checkout target-branch

# Выполните cherry-pick диапазона коммитов
git cherry-pick <start-commit-hash>..<end-commit-hash>
🚩Разрешение конфликтов 1⃣Разрешите конфликты в файлах. 2⃣Добавьте изменения в индекс
git add <filename>   
3⃣Завершите процесс cherry-pick
git cherry-pick --continue   
🚩Прерывание Если вы хотите прервать процесс cherry-pick, можно использовать команду
git cherry-pick --abort
Ставь 👍 и забирай 📚 Базу знаний

🤔 В чём разница между TCP и UDP? TCP (Transmission Control Protocol) — это протокол с установлением соединения, обеспечивающий надежную, упорядоченную и безошибочную передачу данных. UDP (User Datagram Protocol) — это более простой протокол без установления соединения, который позволяет передавать данные без гарантий доставки, порядка или проверки ошибок. TCP используется для задач, где важна надежность, а UDP — для задач, требующих максимальной скорости передачи. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

Timetta — контроль проектов, ресурсов, финансов и задач Комплексное решение для проектно-ориентированного бизнеса. Приложение для контроля проектов, финансов, ресурсов, времени для средних и крупных команд. ✅Планируйте проекты ✅Оценивайте бюджеты ✅Подбирайте ресурсы ✅Контролируйте задачи Узнать больше #реклама 16+ timetta.com О рекламодателе

🤔 Как открывается смотреть огромный лог размером 4-5 Гб? Работа с большими логами может быть сложной, так как стандартные текстовые редакторы и команды могут не справляться с такими объемами данных. 🟠Использование команды `less` Это команда для постраничного просмотра файлов, которая загружает файл по частям, что позволяет работать с большими файлами без их полного открытия в памяти. Навигация: Space: следующая страница b: предыдущая страница G: перейти в конец файла g: перейти в начало файла /pattern: поиск по файлу
less /path/to/large-log-file.log
🟠Использование команды tail Это команда для просмотра последних строк файла. Она полезна для мониторинга новых записей в реальном времени.
tail -n 1000 /path/to/large-log-file.log
Для непрерывного мониторинга
tail -f /path/to/large-log-file.log
🟠Использование команды `head` Это команда для просмотра первых строк файла.
head -n 1000 /path/to/large-log-file.log
🟠Использование команды `awk` Это мощный текстовый процессор, который может быть использован для фильтрации и обработки лог-файлов.
awk '/ERROR/' /path/to/large-log-file.log
🟠Использование команды tail Это команда для поиска по файлу. Она позволяет быстро находить строки, содержащие определенные паттерны.
grep "ERROR" /path/to/large-log-file.log
Для просмотра строк до и после найденного паттерна
grep -C 5 "ERROR" /path/to/large-log-file.log
🟠Использование команды `split` Это команда для разбиения больших файлов на более мелкие части. Разбиение файла на части размером по 500 МБ
split -b 500M /path/to/large-log-file.log part_
🟠Использование `Sublime Text` или других редакторов с поддержкой больших файлов Некоторые текстовые редакторы, такие как Sublime Text, поддерживают работу с большими файлами. Они могут быть полезны для просмотра и редактирования логов. 🟠Использование специализированных утилит GoAccess: интерактивный просмотр логов веб-сервера в режиме реального времени.
goaccess /path/to/access.log -c
lnav: интерактивный просмотрщик логов, который автоматически определяет формат логов и предоставляет удобную навигацию и поиск.
lnav /path/to/large-log-file.log
🚩Примеры использования Использование less для просмотра большого лог-файла
less /path/to/large-log-file.log
Использование grep для поиска по логу
grep "ERROR" /path/to/large-log-file.log
Ставь 👍 и забирай 📚 Базу знаний

🤔 Что такое и нужен ли swap? Swap (файл подкачки) — это область на жестком диске, используемая операционной системой для временного хранения данных из оперативной памяти (RAM), когда она заполнена. Swap может помочь системе справляться с перегрузкой памяти, но использование swap может замедлить работу системы, так как доступ к данным на жестком диске медленнее, чем к RAM. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Как и где посмотреть логи какого-нибудь сервиса? Обычно хранятся в каталоге /var/log. Также многие современные дистрибутивы используют систему журналирования systemd для управления и просмотра логов. 🚩Способы просмотра 🟠Просмотр логов в /var/log Каталог /var/log содержит логи большинства системных сервисов и приложений. Логи системных сообщений /var/log/syslog: Содержит общие системные логи. /var/log/messages: Содержит общие системные сообщения (не во всех дистрибутивах).
cat /var/log/syslog
less /var/log/syslog
tail -f /var/log/syslog
Логи конкретных сервисов Apache: /var/log/apache2/ или /var/log/httpd/ Логи доступа: /var/log/apache2/access.log или /var/log/httpd/access_log Логи ошибок: /var/log/apache2/error.log или /var/log/httpd/error_log
tail -f /var/log/apache2/access.log
tail -f /var/log/apache2/error.log  
Nginx: /var/log/nginx/ Логи доступа: /var/log/nginx/access.log Логи ошибок: /var/log/nginx/error.log
tail -f /var/log/nginx/access.log
tail -f /var/log/nginx/error.log 
MySQL: /var/log/mysql/ или /var/log/mysqld.log
tail -f /var/log/mysql/error.log 
SSH: /var/log/auth.log или /var/log/secure
tail -f /var/log/auth.log 
🟠Использование `journalctl` для системных логов journalctl — это утилита для просмотра и управления журналами systemd. Она позволяет фильтровать логи по различным критериям, таким как время, сервис и уровень логирования. Основные команды journalctl Просмотр всех журналов
journalctl  
Логов конкретного сервиса
journalctl -u nginx.service  
Последних логов и продолжение просмотра в реальном времени
journalctl -f
journalctl -u nginx.service -f
Логов за определённый период
journalctl --since "2024-07-25 12:00:00" --until "2024-07-25 13:00:00" 
Логов с определённым уровнем логирования
journalctl -p err
journalctl -p warning  
🚩Примеры использования 🟠Просмотр логов Apache Логи доступа
tail -f /var/log/apache2/access.log  
Логи ошибок
tail -f /var/log/apache2/error.log 
🟠Просмотр логов Nginx Логи доступа
tail -f /var/log/nginx/access.log
Логи ошибок
tail -f /var/log/nginx/error.log  
🟠Использование `journalctl` для просмотра логов Nginx Все логи Nginx
journalctl -u nginx.service  
Последние логи Nginx в реальном времени
journalctl -u nginx.service -f  
Ставь 👍 и забирай 📚 Базу знаний

🤔 Что такое ELK? ELK стек — это сочетание трех открытых инструментов Elasticsearch, Logstash и Kibana, которые вместе используются для индексации, анализа и визуализации логов в реальном времени. Elasticsearch используется как поисковая и аналитическая движущая сила, Logstash — для обработки и передачи данных, а Kibana — для визуализации данных из Elasticsearch. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Как поднять лимиты nginx? Можно увеличить несколько лимитов, связанных как с самой конфигурацией Nginx, так и с настройками операционной системы. 🚩Шаги 🟠Увеличение лимита открытых файлов 1⃣Проверка текущих лимитов
ulimit -n
2⃣Увеличение лимитов для пользователя
* soft nofile 65536
* hard nofile 65536
3⃣Применение изменений Перезапустите терминал или перезагрузите систему, чтобы изменения вступили в силу. 4⃣ Установка лимитов для процессов Nginx
LimitNOFILE=65536
sudo systemctl daemon-reload
🟠Настройка параметров Nginx 1⃣Редактирование основного конфигурационного файла Nginx Откройте файл конфигурации Nginx (обычно /etc/nginx/nginx.conf) и настройте следующие параметры: worker_rlimit_nofile: Установите максимальное количество открытых файлов.
worker_rlimit_nofile 65536;
worker_connections: Увеличьте количество соединений, которые каждый рабочий процесс может обрабатывать одновременно.
events {
    worker_connections 65536;
}
worker_processes: Настройте количество рабочих процессов. Обычно это число соответствует количеству ядер процессора.
worker_processes auto;
🟠Настройка системных параметров 1⃣Увеличение лимита открытых файлов в системе Отредактируйте файл /etc/sysctl.conf и добавьте строку
fs.file-max = 2097152
Примените изменения
sudo sysctl -p
2⃣Настройка TCP-параметров Отредактируйте файл /etc/sysctl.conf и добавьте строки
net.core.somaxconn = 65535
net.ipv4.tcp_max_syn_backlog = 4096
Примените изменения
sudo sysctl -p
🟠Перезагрузка Nginx После внесения всех изменений перезагрузите Nginx для их применения:
sudo systemctl restart nginx
Пример конфигурационного файла Nginx
user nginx;
worker_processes auto;
worker_rlimit_nofile 65536;

events {
    worker_connections 65536;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;
    tcp_nopush      on;
    tcp_nodelay     on;
    keepalive_timeout  65;
    types_hash_max_size 2048;

    include /etc/nginx/conf.d/*.conf;
}
🚩Проверка изменений Проверка лимита открытых файлов
ulimit -n
Проверка параметров sysctl
sysctl fs.file-max
sysctl net.core.somaxconn
sysctl net.ipv4.tcp_max_syn_backlog
Ставь 👍 и забирай 📚 Базу знаний

🤔 Чем отличаются HTTP и HTTPS? HTTP (HyperText Transfer Protocol) — это протокол передачи данных, используемый для загрузки веб-страниц. HTTPS (HTTP Secure) — это расширение HTTP, которое добавляет слой шифрования (SSL/TLS), обеспечивая безопасную передачу данных между клиентом и сервером. HTTPS защищает от прослушивания и манипуляций данными. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Что слышали про ulimits? Это команда в Unix-подобных операционных системах, которая используется для ограничения ресурсов, доступных оболочке и запущенным из нее процессам. С помощью ulimit можно устанавливать и проверять различные лимиты, такие как количество открытых файлов, размер стека, размер файлов и т. д. Эти лимиты помогают предотвратить исчерпание системных ресурсов отдельными процессами и улучшить безопасность и стабильность системы. 🚩Параметры 🟠-n Максимальное количество открытых файлов (file descriptors). 🟠-u Максимальное количество процессов, которые может создать пользователь. 🟠-f Максимальный размер файлов, которые могут быть созданы пользователем (в блоках). 🟠-s Размер стека (stack size). 🟠-c Размер файлов core dump. 🟠-v Максимальный объем виртуальной памяти (virtual memory size). 🟠-l Максимальный объем памяти, который может быть заблокирован в оперативной памяти (locked-in-memory size). 🚩Примеры использования 1⃣Проверка текущих лимитов
ulimit -a
Вывод этой команды покажет все текущие лимиты для текущего пользователя и сеанса
core file size          (blocks, -c) unlimited
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 63691
max locked memory       (kbytes, -l) 16384
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 63691
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited
2⃣Установка лимитов 🟠На количество открытых файлов Это установит лимит на 4096 открытых файлов для текущей сессии.
ulimit -n 4096
🟠На размер файлов Это установит максимальный размер файла в 1 ГБ (1048576 блоков по 1024 байта).
ulimit -f 1048576
🟠На размер стека Это установит размер стека в 16 МБ.
ulimit -s 16384
3⃣Постоянная настройка лимитов Чтобы установить лимиты на постоянной основе, нужно отредактировать конфигурационные файлы, такие как /etc/security/limits.conf и /etc/pam.d/common-session.
*               soft    nofile          4096
*               hard    nofile          65536
*               soft    nproc           4096
*               hard    nproc           8192
🚩Примеры использования в скриптах Вы можете включить ulimit в ваши скрипты для временного изменения лимитов ресурсов перед выполнением команд
#!/bin/bash
ulimit -n 4096
ulimit -s 16384
# Выполнение команд
./myprogram
🚩Важные замечания 🟠Root и обычные пользователи Root может устанавливать более высокие лимиты, чем обычные пользователи. Ограничения могут варьироваться между различными системами и дистрибутивами Linux. 🟠Применение изменений Изменения, сделанные с помощью команды ulimit, применяются только к текущему сеансу и процессам, запущенным из него. 🟠Максимальные значения Лимиты могут иметь максимальные значения, заданные ядром системы. Например, максимальный лимит для количества открытых файлов может быть установлен с помощью параметра fs.file-max в /etc/sysctl.conf. Ставь 👍 и забирай 📚 Базу знаний

🤔 Что такое helm, helm charts? Helm — это менеджер пакетов для Kubernetes, который упрощает установку и управление приложениями. Helm Charts — это пакеты предварительно настроенных ресурсов Kubernetes, которые можно развертывать как единые приложения. Charts описывают набор связанных ресурсов Kubernetes и включают в себя все необходимые зависимости и параметры конфигурации. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Как узнать ip-адрес какого-нибудь сайта? 🚩Методы 🟠Использование команды `ping` Команда ping отправляет пакеты ICMP на указанный домен и отображает IP-адрес.
ping google.com
Пример вывода В этом примере IP-адрес google.com142.250.190.78.
PING google.com (142.250.190.78): 56 data bytes
64 bytes from 142.250.190.78: icmp_seq=0 ttl=115 time=14.3 ms
🟠Использование команды `nslookup` Команда nslookup запрашивает DNS-сервер для получения информации о домене, включая IP-адрес.
nslookup google.com
Пример вывода
Server:         8.8.8.8
Address:        8.8.8.8#53

Non-authoritative answer:
Name:   google.com
Address: 142.250.190.78
🟠Использование команды `dig` Команда dig (domain information groper) запрашивает DNS-сервер для получения информации о домене. Она более гибкая и детализированная, чем nslookup.
dig google.com
Пример вывода
; <<>> DiG 9.11.3-1ubuntu1.12-Ubuntu <<>> google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 49142
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;google.com.                    IN      A

;; ANSWER SECTION:
google.com.             299     IN      A       142.250.190.78

;; Query time: 21 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Fri Jul 26 12:00:00 UTC 2024
;; MSG SIZE  rcvd: 55
🟠Использование команды `host` Команда host — еще один способ запроса DNS для получения IP-адреса домена.
host google.com
Пример вывода
google.com has address 142.250.190.78
google.com has IPv6 address 2607:f8b0:4005:809::200e
🟠Использование онлайн-сервисов Существует множество онлайн-сервисов, которые позволяют определить IP-адрес веб-сайта. [WhatIsMyIPAddress](https://www.whatismyipaddress.com/) [DNSWatch](https://www.dnswatch.info/) [IP-Checker](https://ipinfo.info/html/ip_checker.php) 🚩Примеры использования ping
ping example.com
PING example.com (93.184.216.34): 56 data bytes
64 bytes from 93.184.216.34: icmp_seq=0 ttl=56 time=12.3 ms
nslookup
nslookup example.com
Server:         8.8.8.8
Address:        8.8.8.8#53

Non-authoritative answer:
Name:   example.com
Address: 93.184.216.34
dig
dig example.com
; <<>> DiG 9.11.3-1ubuntu1.12-Ubuntu <<>> example.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 32477
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;example.com.                   IN      A

;; ANSWER SECTION:
example.com.            299     IN      A       93.184.216.34

;; Query time: 21 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Fri Jul 26 12:00:00 UTC 2024
;; MSG SIZE  rcvd: 55
host
host example.com
example.com has address 93.184.216.34
Ставь 👍 и забирай 📚 Базу знаний

🤔 Что такое неймспейс? Неймспейс (namespace) в Kubernetes — это механизм логической изоляции ресурсов кластера, позволяющий разделять рабочие окружения или группы ресурсов между различными командами или проектами. Неймспейсы позволяют управлять доступом, квотами на ресурсы и ограничивать видимость ресурсов между разными частями системы. Это упрощает организацию и управление ресурсами в больших кластерах, где различные приложения и среды должны быть отделены друг от друга. Неймспейсы делают управление кластером более гибким и масштабируемым. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

Российский рынок ИИ-решений: прогнозы, тренды, аналитика Российский рынок ИИ-решений: прогнозы, тренды, аналитика. Монитор технологий Приглашаем вас на уникальное офлайн-событие проекта "ГенИИ", посвященное современным ИИ-технологиям! ⚡ 📊 Узнайте, как российские инновации в области ИИ могут изменить бизнес и способствовать технологическому суверенитету. Мы поделимся результатами исследования «Монитор технологий: ИИ-блок» и опроса студенческого сообщества. 🎓 Кому будет интересно? – Экспертам в сфере ИТ – Представителям бизнеса – Госструктурам и НПО – Студентам и молодым специалистам Когда? 5 ноября, 11:00–15:00 Где? Москва, пр. Мира, 119, стр. 461 (ВДНХ) Вход: бесплатно ✅ Программа: – Обзор текущих трендов – Технологическая карта решений ИИ – Дискуссионная панель и интерактив 💻 Спикеры: Ведущие эксперты в области ИТ и ИИ. Зарегистрироваться #реклама rdtex-event.timepad.ru О рекламодателе

🤔 Какие могут быть лимиты у nginx и со стороны чего? Как и любая другая серверная программа, может сталкиваться с различными лимитами, которые могут ограничивать его производительность и возможности. Эти лимиты могут исходить как от самой конфигурации Nginx, так и от операционной системы и оборудования. 🚩Лимиты со стороны Nginx 🟠worker_connections Определяет максимальное количество соединений, которые каждый рабочий процесс (worker) может обслуживать одновременно. Конфигурация: /etc/nginx/nginx.conf
events {
    worker_connections 1024;
}
🟠worker_processes Определяет количество рабочих процессов. Обычно рекомендуется настроить на количество ядер процессора. Конфигурация: /etc/nginx/nginx.conf
worker_processes auto;     
🟠client_max_body_size Определяет максимальный размер тела запроса (например, загрузка файлов). Конфигурация: /etc/nginx/nginx.conf или в контексте сервера/локации.
http {
    client_max_body_size 10m;
}     
🟠client_body_buffer_size Размер буфера для хранения тела запроса клиента. Конфигурация: /etc/nginx/nginx.conf
http {
    client_body_buffer_size 8k;
}     
🟠limit_conn_zone и limit_conn Используются для ограничения количества соединений от одного клиента. Конфигурация: /etc/nginx/nginx.conf
http {
    limit_conn_zone $binary_remote_addr zone=addr:10m;
    server {
        location / {
            limit_conn addr 10;
        }
    }
}
🟠limit_req_zone и limit_req Используются для ограничения количества запросов от одного клиента в единицу времени (например, для защиты от DDoS-атак). Конфигурация: /etc/nginx/nginx.conf
http {
    limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
    server {
        location / {
            limit_req zone=one burst=5;
        }
    }
}
🚩Лимиты со стороны операционной системы 🟠Максимальное количество открытых файлов Linux системам по умолчанию разрешается иметь ограниченное количество открытых файловых дескрипторов на процесс. Проверка текущих лимитов
ulimit -n     
Увеличение лимитов В /etc/security/limits.conf
* soft nofile 65536
* hard nofile 65536       
🟠Системные лимиты на количество файлов В /etc/sysctl.conf
fs.file-max = 2097152     
Применение изменений
sudo sysctl -p     
🟠TCP-параметры: Максимальное количество полуподключений. В /etc/sysctl.conf
net.core.somaxconn = 65535
net.ipv4.tcp_max_syn_backlog = 4096       
Применение изменений
sudo sysctl -p     
🚩Лимиты со стороны оборудования 🟠Производительность процессора Количество ядер и тактовая частота процессора могут влиять на количество одновременных соединений и общую производительность Nginx. 🟠Объем оперативной памяти Недостаток оперативной памяти может привести к увеличению времени отклика и сбоям при большом количестве запросов. 🟠Скорость дисковой системы Высокая нагрузка на диск может замедлить обработку запросов, особенно при работе с большими файлами или логами. Ставь 👍 и забирай 📚 Базу знаний

🤔 Что такое pod? Pod — это основная единица развертывания в Kubernetes, которая представляет собой один или несколько контейнеров, работающих вместе и разделяющих общие ресурсы, такие как сеть и хранилище. Каждый pod получает уникальный IP-адрес в кластере и может включать контейнеры, которые взаимодействуют друг с другом. Pod является недолговечным и может быть перезапущен или пересоздан при сбое, поэтому Kubernetes автоматически управляет их состоянием. Pod помогает упрощать управление контейнерами в кластере. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний