Привіт, новий розіграш трьох Telegram Premium (на 3 місяці)💲 . Для участі треба підписатись на цей канал.
Дякую всім хто слідкує, сподіваюсь цей контент приносить користь у роботі або розумінні сфери в цілому. Реакції 👍, коменти 💬 та активні дискусії💬 - краща мотивація для написання постів.
Всім гарних вихідних)😉
Дякую всім хто слідкує, сподіваюсь цей контент приносить користь у роботі або розумінні сфери в цілому. Реакції 👍, коменти 💬 та активні дискусії
Всім гарних вихідних)
Please open Telegram to view this post
VIEW IN TELEGRAM
DevOps 👨🏼💻 Інженер pinned «Привіт, новий розіграш трьох Telegram Premium (на 3 місяці)💲 . Для участі треба підписатись на цей канал. Дякую всім хто слідкує, сподіваюсь цей контент приносить користь у роботі або розумінні сфери в цілому. Реакції 👍, коменти 💬 та активні дискусії 💬 - краща…»
Змінні у Terraform, як і коли використовувати? ❓
Не дивно, що змінні - це іменовані комірки для даних.
Коли їх використовувати?🤔 Уяви, що твій Terraform-код має підлаштовуватись під декілька інфраструктур різного розміру та призначення. У випадку EC2 машини, в змінні краще винести розмір, а, наприклад, AMI зачасту може бути статичним.
👨💻 Приклад:
Відноситись до змінних варто, як до аргументів функції у програмуванні. Це все тому, що ми пізніше навичимось ділити наш код на модулі, де змінні і виступатимуть такими "аргументами".
#terraform
DevOps Інженер 👨🏼💻
Не дивно, що змінні - це іменовані комірки для даних.
Коли їх використовувати?
variable "instance_type" {
type = string
default = "t2.micro"
}
resource "aws_instance" "web" {
ami = "ami-a1b2c3d4"
instance_type = var.instance_type
}
Відноситись до змінних варто, як до аргументів функції у програмуванні. Це все тому, що ми пізніше навичимось ділити наш код на модулі, де змінні і виступатимуть такими "аргументами".
#terraform
DevOps Інженер 👨🏼💻
Please open Telegram to view this post
VIEW IN TELEGRAM
Так, трохи підзабив 🏖️ , тож реабілітуюсь 🏋️♀️ розбираємось у відмінностях declarative та imperative підходів.
Declarative та Imperative - два підходи до написання коду (конфігурацій). Щоб зрозуміти із яким типом ви працюєте зараз, задайте собі питання:
Наприклад: bash-скрипт - то imperative, бо ми кажемо нашому скрипту:
А от Terraform - це чистий declarative. Ми йому кажем:
В цьому випадку весь Imperative реалізували розробники Terraform та його провайдерів😉
#terraform
DevOps Інженер 👨🏼💻
Declarative та Imperative - два підходи до написання коду (конфігурацій). Щоб зрозуміти із яким типом ви працюєте зараз, задайте собі питання:
Я зараз описую що саме повинна зробити программа (її output, declarative), чи яким чином діяти програмі (увесь process, imperative), щоб задовільнити мою потребу?
Наприклад: bash-скрипт - то imperative, бо ми кажемо нашому скрипту:
Спочатку сходи туди, перевір те і запусти інше
А от Terraform - це чистий declarative. Ми йому кажем:
Ось список бажаних ресурсів, і вже ти мені їх створиш, модифікуєш чи видалиш, коли я цього захочу
В цьому випадку весь Imperative реалізували розробники Terraform та його провайдерів
#terraform
DevOps Інженер 👨🏼💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13 4🔥1
На черзі повторення 🧑🎓 . Яка Unix-тула дозволяє планувати виконання скриптів за розкладом?
Anonymous Quiz
10%
77%
7%
6%
Vertical та Horizontal scaling 🗣️
Навіщо інтернет магазину тримати одну кількість активних серверів вночі та на чорну п'ятницю? Саме для цього важливо притримуватись принципу масштабованості.
Вертикальне масштабування (Scaling Up) - це збільшення розміру вже існуючого сервера. Тобто додавання RAM або CPU та інше.
Горизонтальне масштабування (Scaling Out) - це додавання нових серверів до системи для розподілу навантаження між ними.
Я асоціюю ці поняття із містом та селищем - в місті будують місткі хмарочоси🏙 (вертикальне), а в селищі маленькі хатки🏡 (горизонтальне).
Надалі розглянемо як пов'язана тема масштабування із типом аплікейшену (Stateful або Stateless [пост про різницю цих понять])
#cloud #aws
DevOps Інженер 👨🏼💻
Навіщо інтернет магазину тримати одну кількість активних серверів вночі та на чорну п'ятницю? Саме для цього важливо притримуватись принципу масштабованості.
Вертикальне масштабування (Scaling Up) - це збільшення розміру вже існуючого сервера. Тобто додавання RAM або CPU та інше.
Горизонтальне масштабування (Scaling Out) - це додавання нових серверів до системи для розподілу навантаження між ними.
Я асоціюю ці поняття із містом та селищем - в місті будують місткі хмарочоси🏙 (вертикальне), а в селищі маленькі хатки🏡 (горизонтальне).
Надалі розглянемо як пов'язана тема масштабування із типом аплікейшену (Stateful або Stateless [пост про різницю цих понять])
#cloud #aws
DevOps Інженер 👨🏼💻
Please open Telegram to view this post
VIEW IN TELEGRAM
Давно не бачились 😊
Поки я собі придумую подальші пости, ось мій досвід переїзду на k9s, тулу що візуалізує k8s кластер.
Навіщо це треба? Підвищити продуктивність під час роботи із куб-кластерами.
В цілому прога 8/10. Все працює швидко, класні хоткеї, переключення між кластерами, фільтри - все супер. Але мені не сподобалась документація проєкту і робота з логами контейнерів. Логи, як на мене, виглядають дуже нестабільно.
Але 100% раджу спробувати, тим паче якщо використовуєте аналоги. Тут взаємодія із кластером без мишки, кастомні dotfiles, TUI та інше.
DevOps Інженер 👨🏼💻
Поки я собі придумую подальші пости, ось мій досвід переїзду на k9s, тулу що візуалізує k8s кластер.
Навіщо це треба? Підвищити продуктивність під час роботи із куб-кластерами.
В цілому прога 8/10. Все працює швидко, класні хоткеї, переключення між кластерами, фільтри - все супер. Але мені не сподобалась документація проєкту і робота з логами контейнерів. Логи, як на мене, виглядають дуже нестабільно.
Але 100% раджу спробувати, тим паче якщо використовуєте аналоги. Тут взаємодія із кластером без мишки, кастомні dotfiles, TUI та інше.
DevOps Інженер 👨🏼💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11 6
Дійшли руки до власної homelab. 🧑🎓
Під homelab я маю на увазі створений в домашніх умовах k8s кластер із 1+ нодою. В моєму випадку нодою виступає старий, але дуже вірний, ThinkPad X250. Він, та трохи мережевого обладнання, використовують маленький EcoFlow як ДБЖ. Так - оверкіл, але чому ні, k8s тут теж оверкіл.🤓
Для мене це щось нове - біганина від столу до шафи 10 разів на годину, бо чомусь не працює SSH або не резолвиться DNS сервера.
P.s. Пости у більш звичному цьому каналу форматі будуть продовжуватись в тому ж темпі. Жартую, реально будуть.😄
P.P.s. Ось як це компактно розмітилось у шафі.
DevOps Інженер 👨🏼💻
Під homelab я маю на увазі створений в домашніх умовах k8s кластер із 1+ нодою. В моєму випадку нодою виступає старий, але дуже вірний, ThinkPad X250. Він, та трохи мережевого обладнання, використовують маленький EcoFlow як ДБЖ. Так - оверкіл, але чому ні, k8s тут теж оверкіл.
Для мене це щось нове - біганина від столу до шафи 10 разів на годину, бо чомусь не працює SSH або не резолвиться DNS сервера.
P.s. Пости у більш звичному цьому каналу форматі будуть продовжуватись в тому ж темпі. Жартую, реально будуть.
P.P.s. Ось як це компактно розмітилось у шафі.
DevOps Інженер 👨🏼💻
Please open Telegram to view this post
VIEW IN TELEGRAM
Ви знали, що "-p 80:80" у Docker, за замовчуванням, прив'язує порт до "-p 0.0.0.0:80:80"?
Це означає, що порт контейнера відкритий для всіх мережевих інтерфейсів, які можуть до нього достучатись (пристрої локальної мережі). Нещодавно я протестив це в кав'ярні і зміг отримати доступ до порта з іншого пристрою 😕.
Що ще гірше, це може пройти повз ufw (firewall). Найпростіше рішення - відкривати порти таким чином: -p "127.0.0.1:80:80". Також, припускаю, що це може бути пофікшено на стороні мережі, щоб пристрої не могли спілкуватися один з одним напряму 🔒.
📌Як підняти Docker-контейнер локально?
📎Як написати Dockerfile?
DevOps Інженер 👨🏼💻
Це означає, що порт контейнера відкритий для всіх мережевих інтерфейсів, які можуть до нього достучатись (пристрої локальної мережі). Нещодавно я протестив це в кав'ярні і зміг отримати доступ до порта з іншого пристрою 😕.
Що ще гірше, це може пройти повз ufw (firewall). Найпростіше рішення - відкривати порти таким чином: -p "127.0.0.1:80:80". Також, припускаю, що це може бути пофікшено на стороні мережі, щоб пристрої не могли спілкуватися один з одним напряму 🔒.
📌Як підняти Docker-контейнер локально?
📎Як написати Dockerfile?
DevOps Інженер 👨🏼💻
Спостерігаються проблеми із пулом імейджів з DockerHub. Як колись казав, нашвидший метод дізнатись, що проблема не локальна - reddit. Ну і звичайно статус пейджа самого сервісу, але там, зазвичай інфа зʼявляється пізніше.
📌Як і де зберігати Docker-імейджі (альтернативи DockerHub)?
DevOps Інженер 👨🏼💻
📌Як і де зберігати Docker-імейджі (альтернативи DockerHub)?
DevOps Інженер 👨🏼💻
Ну і за традицією, розіграш ТГ-Преміумів 🎁 для підписників. Всім дякую, хто слідкує. Бажаю спокійного і продуктивного року.
Також всіх запрошую до чату каналу💬 . Бачу, що серед слідкуючих є як досвідчені, так і початківці. Тому це може стати гарним місцем для обміну досвідом. Вітаються як загальні питання так і окремі кейси.
Також всіх запрошую до чату каналу
Please open Telegram to view this post
VIEW IN TELEGRAM
DevOps 👨🏼💻 Інженер
This media is not supported in the widget
VIEW IN TELEGRAM
Головна новина за рік відсутності на каналі. 🎆
GCP нарешті релізнули нативну темну тему. Мені здалося якщо вони наважились це зробити, я просто не міг не наважитись запостити про це😄 . Далі більше!
GCP нарешті релізнули нативну темну тему. Мені здалося якщо вони наважились це зробити, я просто не міг не наважитись запостити про це
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤8
Не про ДевОпс. 🚽
Не маючи на меті будувати культ продуктивності, а бажаючи спокійно проводити вихідні, практикую таку просту фішку. Ввечері пʼятниці записую 2-5 екшен айтеми, що робитиму в першу чергу на ранок понеділку.🧑🎓
1. Написати першому;
2. Поздвонити другому;
3. Уточнити в третього;
4. Не забути пофіксити четверте.
Особливий кайф ловлю від того, що сам то почав робити, а не десь прочитав, але сподіваюсь комусь така схема теж стане в нагоді. В моєму випадку це знімає думки про таски і блокери на вихідних, бо мозок розуміє, що план дій вже є і достатньо його дотриматись. Вважаю, що фішка ефективна, бо результат відчуваєш вже на наступний день (суботу), а не як з довлготривалими трекерами/планнерами.
DevOps Інженер 👨🏼💻
Не маючи на меті будувати культ продуктивності, а бажаючи спокійно проводити вихідні, практикую таку просту фішку. Ввечері пʼятниці записую 2-5 екшен айтеми, що робитиму в першу чергу на ранок понеділку.
1. Написати першому;
2. Поздвонити другому;
3. Уточнити в третього;
4. Не забути пофіксити четверте.
Особливий кайф ловлю від того, що сам то почав робити, а не десь прочитав, але сподіваюсь комусь така схема теж стане в нагоді. В моєму випадку це знімає думки про таски і блокери на вихідних, бо мозок розуміє, що план дій вже є і достатньо його дотриматись. Вважаю, що фішка ефективна, бо результат відчуваєш вже на наступний день (суботу), а не як з довлготривалими трекерами/планнерами.
DevOps Інженер 👨🏼💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12 3❤1
Перший реквест до self-hosted AI моделі 💬
Використовуючи GenAI щодня, досі не доходили руки захостити якусь модель локально. А зробити це насправді не так і складно. Ось дуже базовий приклад як можна зробити перший запит до локальної моделі:
Після цього Docker підніме runtime image
Під час тестувань помітив, що відповіді українською доволі обмежені, певно через те що використовується невелика модель, здатна працювати на звичайних пристроях.
Будь-які виправлення, пропозиції і обговорення - велком.
Корисні лінки:
Як і навіщо піднімати аплікейшн у контейнері?🖼️
DevOps Інженер 👨🏼💻
Використовуючи GenAI щодня, досі не доходили руки захостити якусь модель локально. А зробити це насправді не так і складно. Ось дуже базовий приклад як можна зробити перший запит до локальної моделі:
docker run -d --rm --name ollama -p 11434:11434 ollama/ollama && \
sleep 3 && \
docker exec ollama ollama pull llama3.2:1b && \
curl -s http://localhost:11434/api/generate \
-H 'Content-Type: application/json' \
-d '{
"model": "llama3.2:1b",
"prompt": "Explain what a Kubernetes operator does in 3 sentences.",
"stream": false
}' | jq -r '.response' && \
docker stop ollama >/dev/null
Після цього Docker підніме runtime image
ollama/ollama, вже в ньому завантажить модель llama3.2:1b і зробить до неї запит.Під час тестувань помітив, що відповіді українською доволі обмежені, певно через те що використовується невелика модель, здатна працювати на звичайних пристроях.
Будь-які виправлення, пропозиції і обговорення - велком.
Корисні лінки:
Як і навіщо піднімати аплікейшн у контейнері?
DevOps Інженер 👨🏼💻
Please open Telegram to view this post
VIEW IN TELEGRAM
Персональний помічник в контейнері 👨💻
Нещодавно натрапив на NanoClaw. Це такий собі lightweight-варіант Claw із більш просунутою ізоляцією завдяки використанню контейнерів. Важливо відмітити що контейнери використовуються тільки для agent execution layer, тобто для виконання AI логіки. "Контрол плейн" NanoClaw - це звичайний Node.js процес на вашому ПК.
Але мене більше зацікавило інше - NanoClaw це AI тула, що розрахована на керування власним функціоналом за допомогою AI. Спуливши репку у вас буде тільки core-функціонал, який ви зможете розширювати шляхом промптів в Claude Code, будуючи свого унікального помічника. Тобто експлоіт на вашому ПК, код якого ви не будете перевіряти. Але насправді концепція відчувається, як щось із майбутнього, як щось, куди це все має прийти.
Для використання необхідний Claude Code💬 . Хоча інструмент і дає більшу ізоляцію, я б його не ризикнув запускати у власній мережі на постійній основі, можливо поки що.
DevOps Інженер 👨🏼💻
Нещодавно натрапив на NanoClaw. Це такий собі lightweight-варіант Claw із більш просунутою ізоляцією завдяки використанню контейнерів. Важливо відмітити що контейнери використовуються тільки для agent execution layer, тобто для виконання AI логіки. "Контрол плейн" NanoClaw - це звичайний Node.js процес на вашому ПК.
Але мене більше зацікавило інше - NanoClaw це AI тула, що розрахована на керування власним функціоналом за допомогою AI. Спуливши репку у вас буде тільки core-функціонал, який ви зможете розширювати шляхом промптів в Claude Code, будуючи свого унікального помічника. Тобто експлоіт на вашому ПК, код якого ви не будете перевіряти. Але насправді концепція відчувається, як щось із майбутнього, як щось, куди це все має прийти.
Для використання необхідний Claude Code
DevOps Інженер 👨🏼💻
Please open Telegram to view this post
VIEW IN TELEGRAM