DevOps | Вопросы собесов
Kanalga Telegram’da o‘tish
Сайт: https://easyoffer.ru/ Все каналы: t.me/+xGeAw6ckJ4liYzQy Контакт для рекламы: @sendme_ads
Ko'proq ko'rsatish5 566
Obunachilar
+124 soatlar
-37 kun
-1030 kun
Postlar arxiv
🤔 Что такое 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.com — 142.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 помогает упрощать управление контейнерами в кластере.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
🤔 Когда к nginx идёт более 1024 соединений, он падает, что делать?
🚩Шаги
1⃣Увеличение лимита открытых файлов
Linux системам часто по умолчанию разрешается иметь открытыми не более 1024 файловых дескрипторов на процесс. Это число может быть увеличено. Проверка текущих лимитов:
Используйте команду
ulimit для проверки текущих лимитов:
ulimit -n
Чтобы увеличить лимит, отредактируйте файл /etc/security/limits.conf и добавьте или измените следующие строки. Перезапустите терминал или перезагрузите систему для применения изменений.
* soft nofile 65536
* hard nofile 65536
2⃣Настройка системных параметров
Отредактируйте файл /etc/sysctl.conf и добавьте следующие строки
fs.file-max = 2097152
Примените изменения командой
sudo sysctl -p
3⃣Настройка Worker Connections в Nginx
Убедитесь, что в конфигурации Nginx указано достаточно соединений на один процесс. Откройте файл конфигурации Nginx (обычно /etc/nginx/nginx.conf) и настройте параметры worker_connections и worker_rlimit_nofile.
worker_rlimit_nofile 65536;
events {
worker_connections 65536;
}
4⃣Проверка системных ограничений
Отредактируйте файл /etc/security/limits.conf и добавьте или измените строки для увеличения максимального количества процессов
* soft nproc 65536
* hard nproc 65536
Отредактируйте файл /etc/sysctl.conf и добавьте следующие строки:
kernel.pid_max = 4194303
Примените изменения:
sudo sysctl -p
5⃣Перезапуск Nginx
После внесения всех изменений перезапустите Nginx для применения новых настроек:
sudo systemctl restart nginx
🚩Пример изменения лимита
Редактирование /etc/security/limits.conf
* soft nofile 65536
* hard nofile 65536
Применение изменений sysctl
sudo sysctl -w fs.file-max=2097152
🚩Пример настройки Nginx
1⃣Редактирование /etc/nginx/nginx.conf
worker_rlimit_nofile 65536;
events {
worker_connections 65536;
}
2⃣Перезапуск Nginx
sudo systemctl restart nginx
Ставь 👍 и забирай 📚 Базу знаний🤔 Что такое мониторинг, какие инструменты можно использовать?
Мониторинг — это процесс наблюдения за состоянием инфраструктуры и приложений для обеспечения их работоспособности и своевременного реагирования на сбои. Система мониторинга собирает метрики, логи и события для анализа и визуализации. Для мониторинга можно использовать инструменты, такие как Prometheus для сбора метрик, Grafana для визуализации, и ELK stack для логирования. Эти инструменты помогают отслеживать производительность и стабильность системы, а также выявлять аномалии в работе.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
+9
Помощь в трудоустройстве в IT-сфере!
По всей России объявили бесплатную программу на шестимесячное обучение по IT-cпециальностям.
Запись на участие в программе продлится до конца июля, но чтобы туда попасть, нужно пройти специальный профтест.
По результату тестирования сразу узнаете, какая профессия вам подойдет, и проходите ли вы на бесплатное обучение.
Перейти на сайт
#реклама 16+
urban-university.ru
О рекламодателе
🤔 Что происходит в тот момент, когда вы набираете в браузере, например google.com?
Происходит несколько шагов, чтобы загрузить запрашиваемую веб-страницу. Эти шаги включают преобразование доменного имени в IP-адрес, установление соединения и загрузку содержимого страницы.
🚩Шаги
1⃣Ввод URL и обработка браузером
Браузер проверяет кэш на наличие сохраненной копии страницы.
2⃣DNS-резолвинг
Если IP-адрес не найден, браузер отправляет запрос к DNS-серверу для получения IP-адреса доменного имени
google.com. DNS-сервер отвечает с IP-адресом (например, 172.217.10.46).
3⃣Установка TCP-соединения
Браузер устанавливает TCP-соединение с сервером по полученному IP-адресу через трехстороннее рукопожатие (three-way handshake):
1. Клиент отправляет SYN (synchronize) пакет серверу.
2. Сервер отвечает SYN-ACK (synchronize-acknowledge) пакетом.
4⃣Установка HTTPS-соединения (если используется HTTPS)
Если используется HTTPS, устанавливается TLS/SSL соединение для шифрования данных:
1. Клиент и сервер обмениваются сертификатами и ключами.
2. Устанавливается защищенный канал для передачи данных.
5⃣Отправка HTTP-запроса
Браузер отправляет HTTP-запрос на сервер
GET / HTTP/1.1
Host: google.com
6⃣Обработка запроса сервером
Веб-сервер (например, Nginx или Apache) получает запрос и передает его к приложению (например, к веб-приложению Google). Сервер обрабатывает запрос, возможно, обращаясь к базе данных или другим сервисам, и формирует HTTP-ответ.
7⃣Получение HTTP-ответа
Сервер отправляет HTTP-ответ обратно клиенту:
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 1234
<html>
<head><title>Google</title></head>
<body>...</body>
</html>
🚩Дополнительные процессы
🟠Кэширование
Браузер может кэшировать ресурсы (CSS, JS, изображения) для ускорения последующих загрузок. Сервер может отправлять заголовки кэширования, такие как Cache-Control и Expires, чтобы указать браузеру, как долго хранить ресурсы.
🟠Асинхронные запросы
Страница может использовать JavaScript для выполнения дополнительных запросов к серверу (AJAX) без перезагрузки страницы.
🚩Подробный пример
1⃣Ввод URL
Пользователь вводит google.com в адресную строку браузера.
2⃣DNS-резолвинг
Браузер отправляет DNS-запрос и получает ответ
google.com has address 172.217.10.46
3⃣Установка TCP-соединения
Браузер и сервер выполняют трехстороннее рукопожатие:
1. Клиент: SYN
2. Сервер: SYN-ACK
3. Клиент: ACK
4⃣Установка HTTPS-соединения
Браузер и сервер обмениваются сертификатами и устанавливают защищенный канал.
5⃣Отправка HTTP-запроса
Браузер отправляет запрос
GET / HTTP/1.1
Host: google.com
6⃣Получение HTTP-ответа
Сервер отвечает
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 1234
<html>
<head><title>Google</title></head>
<body>...</body>
</html>
Ставь 👍 и забирай 📚 Базу знаний🤔 Что такое репликасет, деплоймент?
`ReplicaSet` — это контроллер в Kubernetes, который обеспечивает поддержание заданного количества подов для определённого приложения, автоматически создавая или удаляя поды по мере необходимости. `Deployment` — это более высокоуровневый объект, который управляет ReplicaSet, добавляя возможность обновления и отката приложений. Deployment используется для более сложных сценариев развертывания и управления приложениями, таких как автоматические обновления и скейлинг. `ReplicaSet` управляет реплицированием подов, а `Deployment` — жизненным циклом приложения.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
🤔 Что такое провайдеры в Terraform?
Это плагины, которые позволяют Terraform взаимодействовать с различными облачными провайдерами, сервисами и другими API. Они выступают в роли интерфейсов между Terraform и целевыми инфраструктурами, обеспечивая возможность создания, управления и изменения ресурсов в этих инфраструктурах.
🚩Функции
🟠Определение ресурсов
Провайдеры определяют типы ресурсов, которые можно создавать и управлять с их помощью. Например, для провайдера AWS это могут быть ресурсы типа
aws_instance, aws_s3_bucket и т.д.
🟠Управление ресурсами
Провайдеры содержат логику для создания, обновления, чтения и удаления ресурсов в целевой системе. Они используют API целевых систем для выполнения этих операций.
🟠Аутентификация и настройка
Провайдеры обрабатывают аутентификацию и настройки соединения, необходимые для взаимодействия с API целевых систем.
🚩Примеры
🟠AWS (Amazon Web Services)
Управление ресурсами в AWS, такими как EC2, S3, RDS и другие.
🟠 Azure
Управление ресурсами в Microsoft Azure, такими как виртуальные машины, базы данных и сети.
🟠Google Cloud Platform (GCP)
Управление ресурсами в GCP, такими как Compute Engine, Cloud Storage и другие.
🟠Kubernetes
Управление кластерами Kubernetes и ресурсами внутри них.
🟠GitHub
Управление репозиториями, организациями и командами на GitHub.
Пример использования провайдера в Terraform
# Определение провайдера
provider "aws" {
region = "us-west-2"
access_key = "your_access_key"
secret_key = "your_secret_key"
}
# Определение ресурса
resource "aws_instance" "example" {
ami = "ami-0c55b159cbfafe1f0"
instance_type = "t2.micro"
tags = {
Name = "example-instance"
}
}
🚩Установка и инициализация
1⃣Определение в конфигурации
Провайдеры определяются в конфигурационных файлах Terraform (с расширением .tf). В примере выше это блок provider "aws".
2⃣Инициализация
После определения провайдеров в конфигурации необходимо инициализировать рабочее окружение с помощью команды terraform init. Эта команда скачивает и устанавливает все необходимые плагины провайдеров.
terraform init
Пример команды инициализации
Initializing provider plugins...
- Finding latest version of hashicorp/aws...
- Installing hashicorp/aws v3.37.0...
- Installed hashicorp/aws v3.37.0 (signed by HashiCorp)
Terraform has been successfully initialized!
🚩Плюсы
➕Унифицированный интерфейс
Провайдеры обеспечивают единый интерфейс для управления различными инфраструктурами, что упрощает процессы DevOps и автоматизацию.
➕Расширяемость
Существует множество провайдеров, что позволяет работать с различными облачными платформами, сервисами и инструментами.
➕Автоматизация
Провайдеры позволяют описывать инфраструктуру как код (Infrastructure as Code, IaC), что упрощает автоматизацию и управление инфраструктурой.
Ставь 👍 и забирай 📚 Базу знанийGitHub теперь в Telegram!
Более 7000+ репозиториев с исходным кодом нейросетей, ботов, сайтов и других интересных проектов для разработчиков:
Всё разбито по #хештегам. Подписывайтесь: @GitHub
🤔 В чем разница Deployment и DaemonSet?
`Deployment` в Kubernetes управляет развертыванием приложений, гарантируя наличие определенного количества реплик контейнеров в кластере, их обновление и масштабирование. `DaemonSet`, напротив, гарантирует, что на каждом узле кластера будет запущена ровно одна копия пода, что полезно для запуска системных служб, таких как агенты мониторинга. `Deployment` используется для управления приложениями, требующими масштабирования, а `DaemonSet` — для процессов, которые должны работать на каждом узле.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
🤔 Как убить процесс?
Обычно это делается с помощью команды
kill, но есть и другие команды, такие как pkill и killall, которые могут быть полезны в разных ситуациях.
🚩Команда `kill`
Используется для отправки сигналов процессам. Наиболее часто используемый сигнал — это SIGTERM (15), который вежливо просит процесс завершиться. Если процесс не реагирует на SIGTERM, можно использовать сигнал SIGKILL (9), который принудительно завершает процесс. <PID>: идентификатор процесса, который вы хотите завершить.
kill [опции] <PID>
🚩Примеры использования
🟠Завершение процесса с `SIGTERM`
Это вежливая просьба процессу завершиться.
kill <PID>
🟠Принудительное завершение процесса с `SIGKILL`
Это принудительное завершение процесса.
kill -9 <PID>
🚩Команда `pkill`
Используется для отправки сигналов процессам по имени. Она удобна, если вы хотите завершить все процессы с определенным именем.
pkill [опции] <имя процесса>
🚩Примеры использования
Завершение процесса по имени с SIGTERM
pkill <имя процесса>
Принудительное завершение процесса по имени с SIGKILL
pkill -9 <имя процесса>
🚩Команда `killall`
Команда killall завершает все процессы с заданным именем. Она похожа на pkill, но позволяет использовать более сложные шаблоны и опции.
killall [опции] <имя процесса>
🚩Примеры использования
Завершение всех процессов с именем processname с SIGTERM
killall processname
Принудительное завершение всех процессов с именем processname с SIGKILL
killall -9 processname
🚩Дополнительные команды
🟠Команда `xkill`
Используется для завершения графических приложений. При вызове команда позволяет выбрать окно, которое нужно закрыть.
xkill
🟠Команда `htop` или `top`
Используются для интерактивного мониторинга процессов. Вы можете завершить процесс, выбрав его в списке и нажав k в htop или top.
htop
top
🚩Примеры использования команд
Поиск PID процесса
ps aux | grep <имя процесса>
Завершение процесса
kill <PID>
Принудительное завершение процесса
kill -9 <PID>
Завершение всех процессов с именем nginx
pkill nginx
killall nginx
Принудительное завершение всех процессов с именем nginx
pkill -9 nginx
killall -9 nginx
Ставь 👍 и забирай 📚 Базу знанийK2 Cloud + DevOops Conf = бесплатный день конференции для инженеров 💜
Ребята из K2 Cloud помогли организовать Community Day для DevOps-специалистов. 6 ноября ты сможешь бесплатно послушать часть докладов конференции DevOops: от основ работы сертификатов до организации Flux CD monorepo. Для участия нужно только зарегистрироваться.
Подробнее на сайте
