DevOps 👨🏼‍💻 Інженер
506 subscribers
30 photos
6 videos
58 links
Контакт: @yevvhen

DevOps нормальними словами - від Docker до RAG.
Пояснюю складне просто. Для тих, хто росте в IT.
Download Telegram
Дійшли руки до власної homelab. 🧑‍🎓

Під 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
13👍6🔥2😁1
Ви знали, що "-p 80:80" у Docker, за замовчуванням, прив'язує порт до "-p 0.0.0.0:80:80"?
Це означає, що порт контейнера відкритий для всіх мережевих інтерфейсів, які можуть до нього достучатись (пристрої локальної мережі). Нещодавно я протестив це в кав'ярні і зміг отримати доступ до порта з іншого пристрою 😕.

Що ще гірше, це може пройти повз ufw (firewall). Найпростіше рішення - відкривати порти таким чином: -p "127.0.0.1:80:80". Також, припускаю, що це може бути пофікшено на стороні мережі, щоб пристрої не могли спілкуватися один з одним напряму 🔒.

📌Як підняти Docker-контейнер локально?
📎
Як написати Dockerfile?

DevOps Інженер 👨🏼‍💻
15👍4
Спостерігаються проблеми із пулом імейджів з DockerHub. Як колись казав, нашвидший метод дізнатись, що проблема не локальна - reddit. Ну і звичайно статус пейджа самого сервісу, але там, зазвичай інфа зʼявляється пізніше.

📌Як і де зберігати Docker-імейджі (альтернативи DockerHub)?

DevOps Інженер 👨🏼‍💻
111
This media is not supported in the widget
VIEW IN TELEGRAM
16
Ну і за традицією, розіграш ТГ-Преміумів 🎁 для підписників. Всім дякую, хто слідкує. Бажаю спокійного і продуктивного року.

Також всіх запрошую до чату каналу 💬. Бачу, що серед слідкуючих є як досвідчені, так і початківці. Тому це може стати гарним місцем для обміну досвідом. Вітаються як загальні питання так і окремі кейси.
Please open Telegram to view this post
VIEW IN TELEGRAM
111
Головна новина за рік відсутності на каналі. 🎆

GCP нарешті релізнули нативну темну тему. Мені здалося якщо вони наважились це зробити, я просто не міг не наважитись запостити про це 😄. Далі більше!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍128
Не про ДевОпс. 🚽

Не маючи на меті будувати культ продуктивності, а бажаючи спокійно проводити вихідні, практикую таку просту фішку. Ввечері пʼятниці записую 2-5 екшен айтеми, що робитиму в першу чергу на ранок понеділку. 🧑‍🎓

1. Написати першому;
2. Поздвонити другому;
3. Уточнити в третього;
4. Не забути пофіксити четверте.

Особливий кайф ловлю від того, що сам то почав робити, а не десь прочитав, але сподіваюсь комусь така схема теж стане в нагоді. В моєму випадку це знімає думки про таски і блокери на вихідних, бо мозок розуміє, що план дій вже є і достатньо його дотриматись. Вважаю, що фішка ефективна, бо результат відчуваєш вже на наступний день (суботу), а не як з довлготривалими трекерами/планнерами.

DevOps Інженер 👨🏼‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1231
Перший реквест до self-hosted AI моделі 💬

Використовуючи 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
7👍2
Персональний помічник в контейнері 👨‍💻

Нещодавно натрапив на 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
5🔥2
Сподіваюсь у вас гарні і безпечні вихідні! ✈️

Хочу поділитись з вами підборкою DevOps/Architecture tg каналів, які сам регулярно читаю. Деякі із каналів трошки підзакинуті, але ти ніколи не знаєш, коли GCP релізне темну тему 🙃.
За лінкою можна додати собі папку із каналами, а потім залишити підписку тільки на ті, що до вподоби. Тож додавайте і діліться із знайомими)
Запрошую в коменти залишити свої канали, або DevOps канали, про які я не знаю.
https://t.me/addlist/ymV0bfIYkkI2YTli

DevOps Інженер 👨🏼‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
64🔥2
Intro to Large Language Models від Andrej Karpathy 💬

Andrej Karpathy - доволі відома людина в AI, і один із тих, хто реально вміє пояснювати складні речі простими словами.
Саме відео вже не нове, і по деяких моментах відчувається, що AI за цей час пішов далі. Але якщо хочеться зрозуміти базу про LLM - як вони влаштовані, чому галюцинують, то відео варте уваги, бо розкладає по поличкам терміни які ви до цього могли просто чути.

🌐 Відео (recommended) / 🔗 Нотатки

DevOps Інженер 👨🏼‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
8👍2
MCP і т.д. 👨‍💻

Останнім часом почав використовувати AI набагато ефективніше. Вірний контекст та чіткий опис бажаного результату дають доволі добрий ефект. Із часом краще відчуваю грань між "Here is a problem. Make no mistakes" і "Зроблю краще сам".

Один із методів, як надати Чату доступ до потрібного контексту - підключити MCP. Де MCP - це стандарт взаємодії між Чатом(Агентом) і зовнішніми сервісами. Як приклад - kubernetes-mcp-server. Підключивши цю MCP, Чат зможе пійти у ваш Куб кластер і глянути логи потрібного сервісу. Тепер ви цілком, на свій страх і ризик, можете вайб-кластерити, бо write-операції там також доступні. Я ж рекомендую ставитись до цього відповідально 🤓.

Діліться своїми флоу. Я ж використав звʼязку Claude Desktop💬 і Kubernetes MCP👩‍💻.

DevOps Інженер 👨🏼‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍3
Трекінг нових версій сервісів 🗓

Час від часу трапляються моменти, коли ви очікуєте на вихід конкретної версії певної тули/ліби. Наприклад, під час ресерчу ви побачили, що потрібна вам фіча вийде у наступному релізі.

Замість того, щоб щоранку заходити на GitHub цієї тули, можна підписатись на її оновлення за допомогою https://newreleases.io/.
Сервіс безкоштовний і підтримує велику кількість джерел - GitHub / GitLab / Bitbucket, Docker Hub, PyPI та інші. Сповіщення можна отримувати на Email, Slack, Telegram, Discord, Microsoft Teams... або вебхуком.

DevOps Інженер 👨🏼‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍54
Що таке RAG і навіщо він потрібен 💬

AI модель не знає твоїх внутрішніх конфігів чи ранбуків - вона тренувалась на чомусь іншому. Донавчати модель під кожен чих - дуже дорого. Тут і зʼявляється RAG (Retrieval-Augmented Generation): перед відповіддю система шукає релевантні шматки у твоїй базі знань і підкладає їх моделі в контекст разом з питанням.
Флоу такий: твої доки → Vector embeddings → Vector DB → пошук найближчого за змістом шматка → шматок + питання летять в LLM.
Для підтримки цього флоу існує багато managed і self-hosted рішень. Їх розглянемо пізніше.

DevOps Інженер 👨🏼‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍53😁1
Embedding model та RAG 🧠

У попередньому пості розібрали RAG-флоу (лінк). Там був крок "твої доки → Vector embeddings". Його частково виконує embedding model.
Embedding model - це AI модель, задача якої перетворити текст (а точніше його частинку) на вектор (масив чисел), який відображає зміст цієї частинки. Схожі за змістом тексти отримують близькі вектори. Саме завдяки цьому ми можемо знайти у RAG "найближчий шматок" до нашого питання.
Популярні моделі: text-embedding-3-large (OpenAI), embed-v4 (Cohere), voyage-3-large (Voyage AI).

У коментах під попереднім постом поділились посиланням на пояснення RAG-флоу українською. Дуже зрозуміло і наочно: лінк.

DevOps Інженер 👨🏼‍💻
3👍2
Steam Deck як k8s нода 🎮

Колись показував свій перший homelab на ThinkPad X250 (лінк). Тоді діло далеко не зайшло. Тепер є другий підопічний - Steam Deck.
AMD Zen 2, 16GB RAM, швидкий NVMe (для сервака його не використовую). SteamOS живе на внутрішньому NVMe, Ubuntu Server із k3s на SD-карті. Boot Manager вирішує куди завантажуватись: ігри чи сервер.

Поки найбільший біль - налаштувати все без дротової клавіатури ☺️. Вирішив через cloud-init скріптец: username, SSH ключ і пакети налаштовуються ще до першого завантаження. Далі все по SSH.

DevOps Інженер 👨🏼‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍2
This media is not supported in the widget
VIEW IN TELEGRAM