Ubuntu 💻 - абсолютний фоварит серед дистрибутивів GNU/Linux. Він дУУУже популярний. Використовується як на користувальниських ПК, так і на серверах. Він простий і, на мою думку, найкраще підходить для знаймоства із Linux.
Також можна відзначити дистрибутиви: Fedora🐧 , Debian 🐧 та Linux Mint 🐧 .
#linux
DevOps Інженер 👨🏼💻
Також можна відзначити дистрибутиви: Fedora
#linux
DevOps Інженер 👨🏼💻
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4 3🔥1
Для участі в розіграші Telegram Premium підпишись на канал і приймай участь вище. 🖥
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
Яка файлова структура у Linux(UNIX) систем, що розташовані в /etc, /dev, /proc, /var директоріях?
Питання по Лінуксу зі співбесіди.❓
/etc - директорія для конфігураційних файлів системи.
Наприклад:
Файл /ets/passwd - налаштування користувачів системи.
За допомогою файлу /etc/hosts можна підправити DNS записи, це корисно для локального тестування.
А nginx-конфіги зачасту можна знайти у директорії /etc/ngnix/.
/dev - директорія для файлів пристроїв.
Наприклад:
/dev/sda — файл пристрою, який представляє перший жорсткий диск у системі.
/dev/null — спеціальний файл, що виконує роль "чорної діри", до якої можна спрямовувати непотрібні дані.
/proc - директорія відображення інформації про процеси та стан ядра.
Прикольна особливість Лінуксових систем, що вони дозволяють зчитувати інформацію про стан системи із файлів.
Команда cat /proc/cpuinfo виведе інформацію про процесор.
/var - директорія для змінних файлів.
Містить файли, що змінюються під час роботи системи. Наприклад, тут зберігаються логи - /var/log
#linux
DevOps Інженер 👨🏼💻
Питання по Лінуксу зі співбесіди.
/etc - директорія для конфігураційних файлів системи.
Наприклад:
Файл /ets/passwd - налаштування користувачів системи.
За допомогою файлу /etc/hosts можна підправити DNS записи, це корисно для локального тестування.
А nginx-конфіги зачасту можна знайти у директорії /etc/ngnix/.
/dev - директорія для файлів пристроїв.
Наприклад:
/dev/sda — файл пристрою, який представляє перший жорсткий диск у системі.
/dev/null — спеціальний файл, що виконує роль "чорної діри", до якої можна спрямовувати непотрібні дані.
/proc - директорія відображення інформації про процеси та стан ядра.
Прикольна особливість Лінуксових систем, що вони дозволяють зчитувати інформацію про стан системи із файлів.
Команда cat /proc/cpuinfo виведе інформацію про процесор.
/var - директорія для змінних файлів.
Містить файли, що змінюються під час роботи системи. Наприклад, тут зберігаються логи - /var/log
#linux
DevOps Інженер 👨🏼💻
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Що таке Terraform 🖼️ ?
Якщо ми хочемо взаємодіяти з ресурсами у хмарі (AWS🖼️ , GCP 🏛 , Azure 🖼️ ), ми йдемо у UI або використовуємо CLI (тут ще 1000 таких або) АБО використовуємо Terraform. Тобто, Terraform це ще 1 надстройка над API хмари, як і її CLI, UI ну або, наприклад, Python ліба.
Terraform має багато власних плюшок - одна із них це state менеджмент, що потрібна для відстежування стану ресурсів у хмарі упродовж всього їх існування.
Наприклад, ми, за допомогою Terraform, створили машину розміром medium і через деякий час вирішили зекономити і зменшити її розмір на small. Ми вносимо цю зміну у конфігурацію і Terraform не стане видаляти стару машину і піднімати меншу. У своєму state він вже закріпив цю машину за її унікальним ID і тепер просто зменшить її розмір, відобразивши заплановані зміни на екрані)
Terraform - мій найулюбленіший DevOps-інструмент, оскільки при своїй простоті, він має ряд корисних властивостей, які я в тому числі буду описувати на цьому каналі. Базове розуміння цієї тули пришвидшить процес розробки, який включає в себе створення хмарної інфраструктури.
#terraform
DevOps Інженер 👨🏼💻
Якщо ми хочемо взаємодіяти з ресурсами у хмарі (AWS
Terraform має багато власних плюшок - одна із них це state менеджмент, що потрібна для відстежування стану ресурсів у хмарі упродовж всього їх існування.
Наприклад, ми, за допомогою Terraform, створили машину розміром medium і через деякий час вирішили зекономити і зменшити її розмір на small. Ми вносимо цю зміну у конфігурацію і Terraform не стане видаляти стару машину і піднімати меншу. У своєму state він вже закріпив цю машину за її унікальним ID і тепер просто зменшить її розмір, відобразивши заплановані зміни на екрані)
Terraform - мій найулюбленіший DevOps-інструмент, оскільки при своїй простоті, він має ряд корисних властивостей, які я в тому числі буду описувати на цьому каналі. Базове розуміння цієї тули пришвидшить процес розробки, який включає в себе створення хмарної інфраструктури.
#terraform
DevOps Інженер 👨🏼💻
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Що таке Terraform provider?
Питання по Тераформу зі співбесіди.❓
У попередньому пості ми розглянули Terraform, як інструмент взаємодії із хмарами. Але насправді Terraform може взаємодіяти із будь-якою APIшкою. Деякі ентузіасти, наприклад, замовляють собі через нього піцу) Звісно є купа більш юзабельних прикладів.
В цьому сценарії Terraform провайдер виступає цим "мостом" між Terraform конфігурацією і бажаною API. Написати свій провайдер можна на Golang, а провайдери вищеописаних хмар - це потужні рішення, які зазавичай менеджить команда самого Terraform. Кожен провайдер включає ряд описаних ресурсів і дата сурсів для використання у конфігураціях, суть яких ми розглянемо пізніше.
#terraform
DevOps Інженер 👨🏼💻
Питання по Тераформу зі співбесіди.
У попередньому пості ми розглянули Terraform, як інструмент взаємодії із хмарами. Але насправді Terraform може взаємодіяти із будь-якою APIшкою. Деякі ентузіасти, наприклад, замовляють собі через нього піцу) Звісно є купа більш юзабельних прикладів.
В цьому сценарії Terraform провайдер виступає цим "мостом" між Terraform конфігурацією і бажаною API. Написати свій провайдер можна на Golang, а провайдери вищеописаних хмар - це потужні рішення, які зазавичай менеджить команда самого Terraform. Кожен провайдер включає ряд описаних ресурсів і дата сурсів для використання у конфігураціях, суть яких ми розглянемо пізніше.
#terraform
DevOps Інженер 👨🏼💻
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Як підняти аплікейшн у контейнері? 🖼️
Під час роботи ми часто потребуємо програму "на пару раз". От нам раз на два місяці захотілось підключатись до бази через UI інтерфейс або для локальних тестів підняти MySQL базу. В мене таких прикладів регулярно до пʼяти на місяць.
Оскільки такі речі є разовими, я не люблю встановлювати і зберігати ці програми у себе на компʼютері, вважаю що можна зробити простіше та зручніше - підіймати ці програми у контейнерах. Для цього достатньо встановити одну утиліту - Docker.
Розглянемо на прикладі: потрібно підняти локально MySQL, щоб підключитись до неї і протестувати програму. Можна почати гуглити install mysql linux... АБО написати наступне у своєму терміналі
Тепер сервер доступний за адресою localhost:3306
Я вважаю цей метод більш зручним бо:
1) Легко вказати версію апки за допогою імейдж-тагу mysql/mysql-server:8.0
2) Не треба паритись: як встановити, включити і, за потреби, видалити програму. Достатньо видалити контейнер.
3) Універсальність рішення на більшості систем.
#docker
DevOps Інженер 👨🏼💻
Під час роботи ми часто потребуємо програму "на пару раз". От нам раз на два місяці захотілось підключатись до бази через UI інтерфейс або для локальних тестів підняти MySQL базу. В мене таких прикладів регулярно до пʼяти на місяць.
Оскільки такі речі є разовими, я не люблю встановлювати і зберігати ці програми у себе на компʼютері, вважаю що можна зробити простіше та зручніше - підіймати ці програми у контейнерах. Для цього достатньо встановити одну утиліту - Docker.
Розглянемо на прикладі: потрібно підняти локально MySQL, щоб підключитись до неї і протестувати програму. Можна почати гуглити install mysql linux... АБО написати наступне у своєму терміналі
docker run --name='mysqlcontainer' -d -p 127.0.0.1:3306:3306 mysql/mysql-server
Тепер сервер доступний за адресою localhost:3306
Я вважаю цей метод більш зручним бо:
1) Легко вказати версію апки за допогою імейдж-тагу mysql/mysql-server:8.0
2) Не треба паритись: як встановити, включити і, за потреби, видалити програму. Достатньо видалити контейнер.
3) Універсальність рішення на більшості систем.
#docker
DevOps Інженер 👨🏼💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16 5 2
Яка різниця між Terraform resource та data source?
Питання по Тераформу🖼️ зі співбесіди. ❓
Створюючи Terraform конфігурацію, ми підключаємо до неї усі необхідні провайдери, наприклад "aws", "google" або "kubernetes". Кожен такий провайдер описує ряд ресурсів і дата сурсів для використання у конфігурації.
Найбільш поширеним є блок resource. Це обʼєкт у конфігурації, що дозволяє стоврювати, змінювати, відстежувати та видаляти віддаленний ресурс (GET, PUT, DELETE...) - в залежності від провайдеру це може бути екземпляр бази даних, kubernetes pod або юзер. В шапці блоку зазначається назва ресурсу, а в його тілі описуються відповідні характеристики наступним чином:
Data source відрізняється від resource тим, що для такого обʼєкту Terraform може застосовувати виключно операцію читання (GET). Це корисно у випадках, коли нам не підвласно створення ресурсу, але необхідно посилатись на нього у конфігурації. Наприклад, це може бути загальнодоступний знімок ОС або ресурс, створений іншим ресурсом.
#terraform
DevOps Інженер 👨🏼💻
Питання по Тераформу
Створюючи Terraform конфігурацію, ми підключаємо до неї усі необхідні провайдери, наприклад "aws", "google" або "kubernetes". Кожен такий провайдер описує ряд ресурсів і дата сурсів для використання у конфігурації.
Найбільш поширеним є блок resource. Це обʼєкт у конфігурації, що дозволяє стоврювати, змінювати, відстежувати та видаляти віддаленний ресурс (GET, PUT, DELETE...) - в залежності від провайдеру це може бути екземпляр бази даних, kubernetes pod або юзер. В шапці блоку зазначається назва ресурсу, а в його тілі описуються відповідні характеристики наступним чином:
resource "aws_instance" "web" {
ami = "ami-a1b2c3d4"
instance_type = "t2.micro"
}
Data source відрізняється від resource тим, що для такого обʼєкту Terraform може застосовувати виключно операцію читання (GET). Це корисно у випадках, коли нам не підвласно створення ресурсу, але необхідно посилатись на нього у конфігурації. Наприклад, це може бути загальнодоступний знімок ОС або ресурс, створений іншим ресурсом.
data "aws_ami" "web" {
filter {
name = "tag:Component"
values = ["web"]
}
most_recent = true
}
resource "aws_instance" "web" {
ami = data.aws_ami.web.id
instance_type = "t2.micro"
}
#terraform
DevOps Інженер 👨🏼💻
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Що таке AWS 🖼️ і як підняти свій перший EC2 інстанс?
AWS - це набір хмарних сервісів, що надають розробникам інструменти для розгортання і масштабування власних додатків. Одним із базових AWS сервісів є EC2🖼️ .
Цей сервіс дозволяє створювати віртуальні машини різного розміру із по-хвилинною оплатою.
Ось приклад створення маленького тестового інстансу, робиться це всього у декілька кроків. Цей інстанс буде розміщено у публічній мережі із можливістю підключитись по SSH через інтерфейс AWS. (це не кращий метод, але для тесту підійде)
Після тестування не забудьте видалити інстанс у вкладці Instances і за наявності диск у вкладці Volumes.
#aws
DevOps Інженер 👨🏼💻
AWS - це набір хмарних сервісів, що надають розробникам інструменти для розгортання і масштабування власних додатків. Одним із базових AWS сервісів є EC2
Цей сервіс дозволяє створювати віртуальні машини різного розміру із по-хвилинною оплатою.
Ось приклад створення маленького тестового інстансу, робиться це всього у декілька кроків. Цей інстанс буде розміщено у публічній мережі із можливістю підключитись по SSH через інтерфейс AWS. (це не кращий метод, але для тесту підійде)
Після тестування не забудьте видалити інстанс у вкладці Instances і за наявності диск у вкладці Volumes.
#aws
DevOps Інженер 👨🏼💻
Please open Telegram to view this post
VIEW IN TELEGRAM
Як автоматично виконувати скрипти у заданий час? 🐧
Crontab - це утиліта, яка дозволяє планувати такі завдання. Це може знадобитись для автоматизації бекапів, модифікації бази даних та менеджменту логів.
Для початку достатньо прописати наступну команду і обрати бажаний текстовий редактор:
У кінці відкритого файлу необхідно написати інструкції на регулярне виконання скриптів у наступному форматі:
Корисні ресурси:
crontab.guru - зручний онлайн-редактор розкладу формату cron
cronitor.io - моніторінг для crontab. Працює шляхом встановлення додаткової утиліти на машину.
#linux
DevOps Інженер 👨🏼💻
Crontab - це утиліта, яка дозволяє планувати такі завдання. Це може знадобитись для автоматизації бекапів, модифікації бази даних та менеджменту логів.
Для початку достатньо прописати наступну команду і обрати бажаний текстовий редактор:
crontab -e
У кінці відкритого файлу необхідно написати інструкції на регулярне виконання скриптів у наступному форматі:
minute hour day-of-month month day-of-week command
30 17 * * 1 /path/to/command
Корисні ресурси:
crontab.guru - зручний онлайн-редактор розкладу формату cron
cronitor.io - моніторінг для crontab. Працює шляхом встановлення додаткової утиліти на машину.
#linux
DevOps Інженер 👨🏼💻
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub 📱 приліг, хай поправляється.
https://www.githubstatus.com
UPD. Кажуть, що починились.
DevOps Інженер 👨🏼💻
https://www.githubstatus.com
UPD. Кажуть, що починились.
DevOps Інженер 👨🏼💻
Please open Telegram to view this post
VIEW IN TELEGRAM
Для участі в розіграші трьох Telegram Premium підпишись на канал і приймай участь вище. 🖥
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Як створити користувача в AWS 🖼️ ?
Root-юзер - супер-адмін аккаунту, у якому ви знаходитесь після реєстрації в AWS. Моя рекомендація - не використовувати його повсякденно, а краще взагалі. Підключити MFA, зробити дії описані нижче і забути про нього.
Паролі не забувати, а покласти в "тумбочку", щоб після реєстрації на AWS, там хоч шось було.😄
Які альтернативи?
На власному акаунті - створити IAM🖼️ юзера. IAM - це один із сервісів AWS, що дозволяє менеджити доступ у хмарі.
Оскільки аккаунт наш - то можна видати полісі AdministratorAccess. Використання такого юзера - набагато безпечніше. До нього також треба піключити MFA.
На акаунті "не власному", я б із самого початку радив дивитись у бік AWS Identity Center, це тутешнє SSO і "бест практіс" Амазону. Його ми розглянемо пізніше.
#aws
DevOps Інженер 👨🏼💻
Root-юзер - супер-адмін аккаунту, у якому ви знаходитесь після реєстрації в AWS. Моя рекомендація - не використовувати його повсякденно, а краще взагалі. Підключити MFA, зробити дії описані нижче і забути про нього.
Паролі не забувати, а покласти в "тумбочку", щоб після реєстрації на AWS, там хоч шось було.
Які альтернативи?
На власному акаунті - створити IAM
Оскільки аккаунт наш - то можна видати полісі AdministratorAccess. Використання такого юзера - набагато безпечніше. До нього також треба піключити MFA.
На акаунті "не власному", я б із самого початку радив дивитись у бік AWS Identity Center, це тутешнє SSO і "бест практіс" Амазону. Його ми розглянемо пізніше.
#aws
DevOps Інженер 👨🏼💻
Please open Telegram to view this post
VIEW IN TELEGRAM
Вітаю, останнім часом роздумую про контент на цьому каналі. Як його зробити найбільш корисним і цікавим вам і мені. Щоб більше розуміти картину, попрошу відповісти на опитування нижче. 🙂
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7🔥1