Давно не бачились 😊
Поки я собі придумую подальші пости, ось мій досвід переїзду на 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
Сподіваюсь у вас гарні і безпечні вихідні! ✈️
Хочу поділитись з вами підборкою DevOps/Architecture tg каналів, які сам регулярно читаю. Деякі із каналів трошки підзакинуті, але ти ніколи не знаєш, коли GCP релізне темну тему🙃 .
За лінкою можна додати собі папку із каналами, а потім залишити підписку тільки на ті, що до вподоби. Тож додавайте і діліться із знайомими)
Запрошую в коменти залишити свої канали, або DevOps канали, про які я не знаю.
https://t.me/addlist/ymV0bfIYkkI2YTli
DevOps Інженер 👨🏼💻
Хочу поділитись з вами підборкою DevOps/Architecture tg каналів, які сам регулярно читаю. Деякі із каналів трошки підзакинуті, але ти ніколи не знаєш, коли GCP релізне темну тему
За лінкою можна додати собі папку із каналами, а потім залишити підписку тільки на ті, що до вподоби. Тож додавайте і діліться із знайомими)
Запрошую в коменти залишити свої канали, або DevOps канали, про які я не знаю.
https://t.me/addlist/ymV0bfIYkkI2YTli
DevOps Інженер 👨🏼💻
Please open Telegram to view this post
VIEW IN TELEGRAM
Intro to Large Language Models від Andrej Karpathy 💬
Andrej Karpathy - доволі відома людина в AI, і один із тих, хто реально вміє пояснювати складні речі простими словами.
Саме відео вже не нове, і по деяких моментах відчувається, що AI за цей час пішов далі. Але якщо хочеться зрозуміти базу про LLM - як вони влаштовані, чому галюцинують, то відео варте уваги, бо розкладає по поличкам терміни які ви до цього могли просто чути.
🌐 Відео (recommended) / 🔗 Нотатки
DevOps Інженер 👨🏼💻
Andrej Karpathy - доволі відома людина в AI, і один із тих, хто реально вміє пояснювати складні речі простими словами.
Саме відео вже не нове, і по деяких моментах відчувається, що AI за цей час пішов далі. Але якщо хочеться зрозуміти базу про LLM - як вони влаштовані, чому галюцинують, то відео варте уваги, бо розкладає по поличкам терміни які ви до цього могли просто чути.
DevOps Інженер 👨🏼💻
Please open Telegram to view this post
VIEW IN TELEGRAM
MCP і т.д. 👨💻
Останнім часом почав використовувати AI набагато ефективніше. Вірний контекст та чіткий опис бажаного результату дають доволі добрий ефект. Із часом краще відчуваю грань між "Here is a problem. Make no mistakes" і "Зроблю краще сам".
Один із методів, як надати Чату доступ до потрібного контексту - підключити MCP. Де MCP - це стандарт взаємодії між Чатом(Агентом) і зовнішніми сервісами. Як приклад - kubernetes-mcp-server. Підключивши цю MCP, Чат зможе пійти у ваш Куб кластер і глянути логи потрібного сервісу. Тепер ви цілком, на свій страх і ризик, можете вайб-кластерити, бо write-операції там також доступні. Я ж рекомендую ставитись до цього відповідально🤓 .
Діліться своїми флоу. Я ж використав звʼязку Claude Desktop💬 і Kubernetes MCP👩💻 .
DevOps Інженер 👨🏼💻
Останнім часом почав використовувати AI набагато ефективніше. Вірний контекст та чіткий опис бажаного результату дають доволі добрий ефект. Із часом краще відчуваю грань між "Here is a problem. Make no mistakes" і "Зроблю краще сам".
Один із методів, як надати Чату доступ до потрібного контексту - підключити MCP. Де MCP - це стандарт взаємодії між Чатом(Агентом) і зовнішніми сервісами. Як приклад - kubernetes-mcp-server. Підключивши цю MCP, Чат зможе пійти у ваш Куб кластер і глянути логи потрібного сервісу. Тепер ви цілком, на свій страх і ризик, можете вайб-кластерити, бо write-операції там також доступні. Я ж рекомендую ставитись до цього відповідально
Діліться своїми флоу. Я ж використав звʼязку Claude Desktop
DevOps Інженер 👨🏼💻
Please open Telegram to view this post
VIEW IN TELEGRAM
Трекінг нових версій сервісів 🗓
Час від часу трапляються моменти, коли ви очікуєте на вихід конкретної версії певної тули/ліби. Наприклад, під час ресерчу ви побачили, що потрібна вам фіча вийде у наступному релізі.
Замість того, щоб щоранку заходити на GitHub цієї тули, можна підписатись на її оновлення за допомогою https://newreleases.io/.
Сервіс безкоштовний і підтримує велику кількість джерел - GitHub / GitLab / Bitbucket, Docker Hub, PyPI та інші. Сповіщення можна отримувати на Email, Slack, Telegram, Discord, Microsoft Teams... або вебхуком.
DevOps Інженер 👨🏼💻
Час від часу трапляються моменти, коли ви очікуєте на вихід конкретної версії певної тули/ліби. Наприклад, під час ресерчу ви побачили, що потрібна вам фіча вийде у наступному релізі.
Замість того, щоб щоранку заходити на 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
👍5 4
Що таке RAG і навіщо він потрібен 💬
AI модель не знає твоїх внутрішніх конфігів чи ранбуків - вона тренувалась на чомусь іншому. Донавчати модель під кожен чих - дуже дорого. Тут і зʼявляється RAG (Retrieval-Augmented Generation): перед відповіддю система шукає релевантні шматки у твоїй базі знань і підкладає їх моделі в контекст разом з питанням.
Флоу такий: твої доки → Vector embeddings → Vector DB → пошук найближчого за змістом шматка → шматок + питання летять в LLM.
Для підтримки цього флоу існує багато managed і self-hosted рішень. Їх розглянемо пізніше.
DevOps Інженер 👨🏼💻
AI модель не знає твоїх внутрішніх конфігів чи ранбуків - вона тренувалась на чомусь іншому. Донавчати модель під кожен чих - дуже дорого. Тут і зʼявляється RAG (Retrieval-Augmented Generation): перед відповіддю система шукає релевантні шматки у твоїй базі знань і підкладає їх моделі в контекст разом з питанням.
Флоу такий: твої доки → Vector embeddings → Vector DB → пошук найближчого за змістом шматка → шматок + питання летять в LLM.
Для підтримки цього флоу існує багато managed і self-hosted рішень. Їх розглянемо пізніше.
DevOps Інженер 👨🏼💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5 3😁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 Інженер 👨🏼💻
У попередньому пості розібрали RAG-флоу (лінк). Там був крок "твої доки → Vector embeddings". Його частково виконує embedding model.
Embedding model - це AI модель, задача якої перетворити текст (а точніше його частинку) на вектор (масив чисел), який відображає зміст цієї частинки. Схожі за змістом тексти отримують близькі вектори. Саме завдяки цьому ми можемо знайти у RAG "найближчий шматок" до нашого питання.
Популярні моделі: text-embedding-3-large (OpenAI), embed-v4 (Cohere), voyage-3-large (Voyage AI).
У коментах під попереднім постом поділились посиланням на пояснення RAG-флоу українською. Дуже зрозуміло і наочно: лінк.
DevOps Інженер 👨🏼💻
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 Інженер 👨🏼💻
Колись показував свій перший homelab на ThinkPad X250 (лінк). Тоді діло далеко не зайшло. Тепер є другий підопічний - Steam Deck.
AMD Zen 2, 16GB RAM, швидкий NVMe (для сервака його не використовую). SteamOS живе на внутрішньому NVMe, Ubuntu Server із k3s на SD-карті. Boot Manager вирішує куди завантажуватись: ігри чи сервер.
Поки найбільший біль - налаштувати все без дротової клавіатури
DevOps Інженер 👨🏼💻
Please open Telegram to view this post
VIEW IN TELEGRAM