Основное преимущество systemd заключается в его способности улучшить управление системными службами и процессами в Linux, делая систему более гибкой, эффективной и быстрой. Вот аспекты, делающие systemd важным:
Позволяет загружать и запускать службы параллельно, что значительно ускоряет процесс загрузки системы по сравнению с традиционными системами инициализации, такими как System V init, которые выполняют запуск служб последовательно.
systemctl list-jobs
Эта команда показывает текущие задачи, которые выполняются параллельно при загрузке системы.
Имеет мощный механизм управления зависимостями между службами. Он может определять порядок запуска служб на основе их зависимостей и условий, что позволяет избежать проблем, связанных с неправильным порядком запуска.
[Unit]
Description=My Service
After=network.target
[Service]
ExecStart=/usr/bin/my_service
[Install]
WantedBy=multi-user.target
Здесь указано, что служба
my_service должна запускаться после network.target.Предоставляет единый интерфейс для управления системными службами, монтированием файловых систем, запуском и остановкой процессов, а также отслеживанием состояния системы. Все это делается через команду
systemctl.systemctl start my_service
systemctl stop my_service
systemctl status my_service
Интегрирован с журналированием через journalctl, что позволяет легко отслеживать и анализировать логи служб и системных событий.
journalctl -u my_service
Эта команда выводит логи конкретной службы
my_service.Поддерживает создание снимков (snapshots) состояния системы, что позволяет сохранять текущее состояние служб и процессов и восстанавливать его при необходимости.
systemctl snapshot my_snapshot
systemctl isolate my_snapshot
Интегрирован с cgroups (control groups), что позволяет управлять и ограничивать ресурсы (CPU, память и т.д.) для отдельных служб и процессов.
[Service]
CPUQuota=20%
MemoryLimit=500M
Этот конфигурационный файл ограничивает использование CPU до 20% и памяти до 500 МБ для конкретной службы.
Может автоматически перезапускать службы в случае их сбоя, а также задавать тайм-ауты для их завершения или запуска.
[Service]
Restart=on-failure
TimeoutStartSec=30
TimeoutStopSec=30
Эти параметры определяют, что служба будет перезапущена при сбое и задают тайм-ауты для ее запуска и остановки.
Ускоряет загрузку системы, улучшает управление зависимостями служб, предоставляет унифицированное управление, улучшает логирование и диагностику, позволяет создавать снимки состояния системы, контролировать ресурсы и автоматически управлять перезапуском служб.
Please open Telegram to view this post
    VIEW IN TELEGRAM
  🔥10👍2
  Файл
/etc/fstab (file system table) содержит информацию о файловых системах и устройствах, которые должны быть автоматически смонтированы при загрузке системы или вручную пользователем. Этот файл используется системными утилитами и скриптами для монтирования файловых систем. /etc/fstabКаждая строка в
/etc/fstab описывает одну файловую систему и состоит из шести полей:/dev/sda1), UUID (уникальный идентификатор устройства) или метка устройства (label)./dev/sda1
UUID=123e4567-e89b-12d3-a456-426614174000
LABEL=mydisk/), домашний каталог (/home) или специальный каталог для временных файлов (/tmp)./
/home
/mnt/mydiskext4, xfs, ntfs, swap и vfat.ext4
xfs
ntfsdefaults, ro (read-only), rw (read-write), noexec (запрещение выполнения файлов) и другие.defaults
noatime
rodump. Значение 0 означает, что резервное копирование не требуется, а 1 означает, что необходимо включить файловую систему в дамп.0
1fsck. Значение 0 означает, что проверка не требуется, 1 указывает на корневую файловую систему, а 2 и более — на другие файловые системы, которые должны быть проверены после корневой./etc/fstab# <файл устройства> <точка монтирования> <тип файловой системы> <параметры> <дамп> <порядок проверки>
UUID=123e4567-e89b-12d3-a456-426614174000 / ext4 defaults 1 1
/dev/sda2 /home ext4 defaults 0 2
/dev/sdb1 /mnt/storage ext4 defaults,noatime 0 2
/dev/sdc1 swap swap defaults 0 0
/) с типом ext4 и стандартными параметрами, и указывает, что она должна быть проверена первой./dev/sda2 в каталог /home с типом ext4 и стандартными параметрами./dev/sdb1 в каталог /mnt/storage с типом ext4 и дополнительным параметром noatime, который отключает обновление временных меток доступа./dev/sdc1 в качестве подкачки (swap).Файл
/etc/fstab хранит информацию о файловых системах и их параметрах монтирования, используемых для автоматического или ручного монтирования устройств в систему.Please open Telegram to view this post
    VIEW IN TELEGRAM
  👍7
  Anonymous Quiz
    9%
    Уменьшение времени выполнения тестов
      
    85%
    Обеспечение согласованности среды разработки и производства
      
    3%
    Ускорение написания кода
      
    2%
    Улучшение взаимодействия с пользователями
      
    👍2👾1
  HTTPS (HyperText Transfer Protocol Secure) — это расширение HTTP (HyperText Transfer Protocol), которое используется для безопасной передачи данных по сети. Основное отличие HTTPS от HTTP заключается в том, что HTTPS использует SSL/TLS (Secure Sockets Layer / Transport Layer Security) для шифрования данных, что обеспечивает конфиденциальность и целостность передаваемой информации.
Компоненты HTTPS
https://.HTTPS обеспечивает безопасную передачу данных между клиентом и сервером с помощью шифрования и проверки подлинности.
Please open Telegram to view this post
    VIEW IN TELEGRAM
  👍8🔥3👾1
  Anonymous Quiz
    90%
    Docker
      
    3%
    Vagrant
      
    6%
    Jenkins
      
    0%
    Git
      
    👍1
  Inode (index node) — это структура данных в файловых системах Unix и Unix-подобных системах (например, Linux), которая хранит информацию о файлах и каталогах, за исключением их имен и содержимого. Каждому файлу или каталогу в файловой системе соответствует свой уникальный inode.
Предоставляет ключевую информацию о файле, которая необходима для его управления и доступа. Это помогает файловой системе эффективно управлять файлами и каталогами.
Основные функции и информация:
Временные метки:
Когда создается файл, файловая система выделяет inode и один или несколько блоков для хранения данных файла. Inode хранит всю информацию о файле, кроме его имени и содержимого. Имя файла хранится в каталоге, который содержит сопоставление имен файлов с их inodes.
Команда
ls -i показывает номер inode для каждого файла в каталоге:ls -i
Пример вывода:
1234567 file1.txt
1234568 file2.txt
1234569 directory1
Здесь
1234567, 1234568 и 1234569 — номера inodes для file1.txt, file2.txt и directory1 соответственно.Inode хранит метаданные файла и указатели на его содержимое, что позволяет эффективно управлять файлами и каталогами в файловой системе.
Please open Telegram to view this post
    VIEW IN TELEGRAM
  ❤4
  Anonymous Quiz
    97%
    Автоматизация создания и управления инфраструктурой с помощью кода
      
    1%
    Ручное управление серверными настройками
      
    1%
    Использование виртуальных машин для разработки
      
    0%
    Архивирование данных
      
    Inode могут закончиться на файловых системах с фиксированным числом inodes. Это может произойти на различных типах файловых систем, особенно если система выделяет inodes при создании файловой системы и не может динамически изменять их количество. Как это происходит и на каких файловых системах это может случиться:
- mkfs.ext4 -N 100000 /dev/sdX1
Здесь
-N 100000 указывает на создание 100,000 inodes.- newfs -i 8192 /dev/sdX1
Здесь
-i 8192 задает размер inodes.- mkfs.xfs -i maxpct=25 /dev/sdX1
Здесь
-i maxpct=25 задает максимальный процент inodes от общего объема файловой системы.Для проверки текущего использования inodes можно использовать команду
df с опцией -i:df -i
Пример вывода:
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda1 1000000 50000 950000 5% /
Здесь видно, сколько inodes всего, сколько из них используется и сколько свободно.
Новые файлы и каталоги не могут быть созданы, даже если на диске еще есть свободное место. Это приводит к ошибкам при попытке создать новые файлы.
Inodes могут закончиться на файловых системах с фиксированным числом inodes, таких как ext2/ext3/ext4, UFS, HFS/HFS+, и XFS. Это ограничение можно избежать, правильно планируя создание файловой системы и мониторя использование inodes.
Please open Telegram to view this post
    VIEW IN TELEGRAM
  👍4
  Anonymous Quiz
    10%
    Jenkins
      
    15%
    GitLab CI/CD
      
    12%
    Bamboo
      
    62%
    Apache
      
    Провайдеры в Terraform — это плагины, которые позволяют Terraform взаимодействовать с различными облачными платформами, сервисами и другими API. Они определяют наборы ресурсов и операций для взаимодействия с этими сервисами. Каждый провайдер управляет одной или несколькими службами и абстрагирует детали API, предоставляя удобный способ управления инфраструктурой.
Основные функции
Провайдеры определяют типы ресурсов, с которыми можно работать. Например, провайдер для AWS позволяет управлять EC2-инстансами, S3-бакетами и другими сервисами AWS.
Провайдеры обеспечивают взаимодействие с API целевого сервиса. Они обрабатывают запросы и ответы, управляя состоянием ресурсов в соответствии с конфигурацией Terraform.
Провайдеры обычно предоставляют механизмы для аутентификации и авторизации при доступе к сервисам.
Для начала работы с провайдером необходимо его сконфигурировать в файле конфигурации Terraform. Обычно это делается в файле
main.tf.      provider "aws" {
     region = "us-west-2"
     access_key = "your-access-key"
     secret_key = "your-secret-key"
   }
   В этом примере настраивается провайдер AWS с указанием региона и учетных данных.
После конфигурации провайдера можно определять ресурсы, которые будут управляться с его помощью.
      resource "aws_instance" "example" {
     ami           = "ami-0c55b159cbfafe1f0"
     instance_type = "t2.micro"
     tags = {
       Name = "example-instance"
     }
   }
   В этом примере создается EC2-инстанс в AWS.
Когда вы запускаете
terraform init, Terraform загружает и инициализирует провайдеры, указанные в конфигурации.Провайдеры конфигурируются с помощью блока
provider, где указываются необходимые параметры, такие как учетные данные и регион.При выполнении команд
terraform apply или terraform plan Terraform взаимодействует с провайдерами для создания, изменения или удаления ресурсов в соответствии с конфигурацией.provider "aws" {
  region = "us-west-2"
}
resource "aws_instance" "example" {
  ami           = "ami-0c55b159cbfafe1f0"
  instance_type = "t2.micro"
  tags = {
    Name = "example-instance"
  }
}В этом примере провайдер AWS конфигурируется для использования региона
us-west-2, и затем создается EC2-инстанс с указанными параметрами.Провайдеры в Terraform — это плагины, которые позволяют взаимодействовать с различными облачными платформами и сервисами, определяя ресурсы и операции для управления ими.
Please open Telegram to view this post
    VIEW IN TELEGRAM
  Anonymous Quiz
    94%
    Контроль версий
      
    2%
    Проведение интервью с пользователями
      
    3%
    Разработка маркетинговых стратегий
      
    1%
    Обучение сотрудников
      
    DevOps и Agile — это два различных подхода к разработке и доставке программного обеспечения, хотя они часто используются вместе. Оба подхода имеют свои цели и методы, которые могут дополнять друг друга, но фокусируются на разных аспектах разработки.
Это методология разработки программного обеспечения, которая акцентирует внимание на гибкости, скорости и итеративном подходе к разработке. Основные принципы Agile изложены в Манифесте Agile, который включает четыре ключевых ценности и двенадцать принципов.
Это культурный и методологический подход, направленный на интеграцию и сотрудничество между командами разработки (Dev) и эксплуатации (Ops) для более быстрой и надежной доставки программного обеспечения.
Agile — это методология разработки, фокусирующаяся на итеративном подходе и гибкости, а DevOps — это культурный и методологический подход, направленный на интеграцию разработки и эксплуатации для обеспечения быстрой и надежной доставки программного обеспечения.
Please open Telegram to view this post
    VIEW IN TELEGRAM
  🔥4
  Anonymous Quiz
    63%
    Puppet
      
    31%
    Docker
      
    4%
    Nagios
      
    2%
    Grafana
      
    Роль DevOps, SRE (Site Reliability Engineering) и IE (Infrastructure Engineering) имеет много общего, но также включает специфические задачи и фокус в каждой области. Давайте рассмотрим каждую из них:
DevOps помогает ускорить выпуск программного обеспечения, повысить его качество и снизить риски за счет автоматизации и тесной интеграции процессов разработки и операций.
Задачи и обязанности:
SRE фокусируется на обеспечении стабильной и предсказуемой работы систем, что критично для поддержания доверия пользователей и минимизации времени простоя.
IE отвечает за создание надежной и масштабируемой инфраструктуры, что является основой для работы всех приложений и сервисов компании.
pipeline {
    agent any
    stages {
        stage('Build') {
            steps {
                echo 'Building...'
                sh 'make build'
            }
        }
        stage('Test') {
            steps {
                echo 'Testing...'
                sh 'make test'
            }
        }
        stage('Deploy') {
            steps {
                echo 'Deploying...'
                sh 'make deploy'
            }
        }
    }
}provider "aws" {
  region = "us-west-2"
}
resource "aws_instance" "example" {
  ami           = "ami-0c55b159cbfafe1f0"
  instance_type = "t2.micro"
  tags = {
    Name = "example-instance"
  }
}Для ребенка: DevOps помогает программам быстро работать, SRE следит, чтобы они не ломались, а IE строит и поддерживает компьютеры и сети для этих программ.
Please open Telegram to view this post
    VIEW IN TELEGRAM
  ❤2👍1🔥1
  GitLab CI/CD предлагает два механизма для управления временными файлами, которые создаются и используются во время выполнения пайплайна: артефакты (artifacts) и кэш (cache). Они служат разным целям и имеют различные характеристики.
Задачи и характеристики:
artifacts в .gitlab-ci.yml файле.Пример конфигурации артефактов:
job1:
script:
- make build
artifacts:
paths:
- build/
expire_in: 1 week
Задачи и характеристики:
node_modules для Node.js или vendor для PHP), промежуточные результаты сборок.cache в .gitlab-ci.yml файле.Пример конфигурации кэша:
job1:
script:
- npm install
cache:
paths:
- node_modules/
job2:
script:
- npm test
cache:
paths:
- node_modules/
Для ребенка: Артефакты — это как временные коробки, которые ты передаешь друзьям, когда работаешь над проектом. Кэш — это как шкафчик, где ты хранишь вещи, чтобы они были под рукой в следующий раз, когда будешь работать над проектом.
Please open Telegram to view this post
    VIEW IN TELEGRAM
  👍7❤2
  Anonymous Quiz
    98%
    Обеспечивает изоляцию приложений и их зависимостей
      
    1%
    Ускоряет процесс ручного тестирования
      
    1%
    Улучшает взаимодействие с пользователями
      
    0%
    Облегчает процесс написания кода
      
    🔥3
  Основное преимущество systemd по сравнению с традиционными системами инициализации, такими как SysV init и Upstart, заключается в его расширенных функциональных возможностях и улучшенной производительности. Вот несколько ключевых аспектов, которые делают systemd более предпочтительным:
Что это:
systemd позволяет запускать службы параллельно, в то время как SysV init запускает их последовательно.
Почему это важно:
Параллельный запуск значительно ускоряет время загрузки системы, что особенно важно для серверов и рабочих станций с большим количеством сервисов.
Что это:
systemd автоматически определяет и управляет зависимостями между службами, используя унифицированный формат конфигурации.
Почему это важно:
Это снижает вероятность ошибок конфигурации и облегчает управление службами, так как все зависимости четко определены и отслеживаются.
Что это:
systemd предоставляет встроенные механизмы для мониторинга состояния служб, их перезапуска при сбоях и сбора логов.
Почему это важно:
Это повышает надежность системы, так как службы автоматически перезапускаются в случае сбоев, а администратор может легко отслеживать их состояние и получать диагностическую информацию.
Что это:
systemd использует простые и читаемые файлы конфигурации в формате INI для определения служб и их параметров.
Почему это важно:
Эти файлы легко редактировать и понимать, что упрощает настройку и управление службами для администраторов.
Что это:
systemd поддерживает множество современных функций, таких как cgroups для управления ресурсами, таймеры для замены cron-джобов и сокет-активацию для запуска служб по запросу.
Почему это важно:
Эти функции позволяют более гибко и эффективно управлять ресурсами системы, автоматизировать задачи и улучшать общую производительность.
[Unit]
Description=My Example Service
After=network.target
[Service]
ExecStart=/usr/bin/myservice
Restart=always
[Install]
WantedBy=multi-user.target
Этот файл конфигурации определяет сервис, который будет запускаться после сети и автоматически перезапускаться в случае сбоя.
Для ребенка: systemd — это как умный помощник, который помогает компьютеру быстро включаться, следит за его программами и автоматически чинит их, если они сломаются.
Please open Telegram to view this post
    VIEW IN TELEGRAM
  ❤5
  Anonymous Quiz
    6%
    Развертывание всех изменений сразу
      
    89%
    Развертывание изменений на небольшой группе серверов перед полным развертыванием
      
    3%
    Тестирование кода в среде разработки
      
    2%
    Развертывание старых версий кода
      
    Файл
/etc/fstab (файловая таблица файловых систем) содержит информацию о файловых системах и устройствах, которые должны быть автоматически подключены (монтированы) при загрузке системы или вручную. Этот файл является важным компонентом конфигурации системы, поскольку он определяет, какие разделы и устройства будут доступны при запуске операционной системы.Каждая строка в
/etc/fstab описывает одну файловую систему и содержит следующие поля:/dev/sda1), UUID или метка (label) файловой системы./, /home, /mnt/data).ext4, xfs, swap).defaults, ro для только чтения, noatime для отключения обновления времени доступа).dump. Значение 0 означает, что резервное копирование отключено, 1 — включено.0 отключает проверку, 1 означает, что файловая система будет проверена первой (обычно корневая файловая система), 2 — проверка будет выполняться после первой.# <файл-система> <точка монтирования> <тип> <параметры> <dump> <pass>
UUID=123e4567-e89b-12d3-a456-426614174000 / ext4 defaults 1 1
/dev/sda1 /boot ext4 defaults 1 2
/dev/sda2 none swap sw 0 0
UUID=987f6543-c21b-34a5-6789-0b1234567890 /home ext4 defaults 0 2
- Файловая система с указанным UUID будет смонтирована в корень (
/).- Используется файловая система
ext4.- Параметры монтирования
defaults.- Будет участвовать в резервном копировании (
dump = 1).- Будет проверена первой при загрузке (
pass = 1).- Раздел
/dev/sda1 будет смонтирован в /boot.- Используется файловая система
ext4.- Параметры монтирования
defaults.- Будет участвовать в резервном копировании (
dump = 1).- Будет проверена после корневой файловой системы (
pass = 2).- Раздел
/dev/sda2 используется как swap (файл подкачки).- Не имеет точки монтирования.
- Параметры монтирования
sw.- Не участвует в резервном копировании (
dump = 0).- Не будет проверяться при загрузке (
pass = 0).- Файловая система с указанным UUID будет смонтирована в
/home.- Используется файловая система
ext4.- Параметры монтирования
defaults.- Не участвует в резервном копировании (
dump = 0).- Будет проверена после корневой файловой системы (
pass = 2).Файл
/etc/fstab содержит информацию о том, какие файловые системы и устройства нужно подключать при загрузке системы и как это делать.Для ребенка: в файле
/etc/fstab записано, какие "шкафчики" на компьютере нужно открыть при включении и куда их поставить, чтобы они были удобны для использования.Please open Telegram to view this post
    VIEW IN TELEGRAM
  👍4
  Anonymous Quiz
    2%
    Автоматизация развертывания
      
    96%
    Мониторинг и оповещение
      
    2%
    Управление конфигурацией
      
    1%
    Контроль версий