es
Feedback
DevOps 👨🏼‍💻 Інженер

DevOps 👨🏼‍💻 Інженер

Ir al canal en Telegram

Контакт: @yevvhen DevOps нормальними словами - від Docker до RAG. Пояснюю складне просто. Для тих, хто росте в IT.

Mostrar más
Buy Ad
508
Suscriptores
Sin datos24 horas
+27 días
+530 días
Archivo de publicaciones
Сподіваюсь у вас гарні і безпечні вихідні! ✈️ Хочу поділитись з вами підборкою DevOps/Architecture tg каналів, які сам регулярно читаю. Деякі із каналів трошки підзакинуті, але ти ніколи не знаєш, коли GCP релізне темну тему 🙃. За лінкою можна додати собі папку із каналами, а потім залишити підписку тільки на ті, що до вподоби. Тож додавайте і діліться із знайомими) Запрошую в коменти залишити свої канали, або DevOps канали, про які я не знаю. https://t.me/addlist/ymV0bfIYkkI2YTli DevOps Інженер 👨🏼‍💻

Персональний помічник в контейнері 👨‍💻 Нещодавно натрапив на NanoClaw. Це такий собі lightweight-варіант Claw із більш прос
Персональний помічник в контейнері 👨‍💻 Нещодавно натрапив на NanoClaw. Це такий собі lightweight-варіант Claw із більш просунутою ізоляцією завдяки використанню контейнерів. Важливо відмітити що контейнери використовуються тільки для agent execution layer, тобто для виконання AI логіки. "Контрол плейн" NanoClaw - це звичайний Node.js процес на вашому ПК. Але мене більше зацікавило інше - NanoClaw це AI тула, що розрахована на керування власним функціоналом за допомогою AI. Спуливши репку у вас буде тільки core-функціонал, який ви зможете розширювати шляхом промптів в Claude Code, будуючи свого унікального помічника. Тобто експлоіт на вашому ПК, код якого ви не будете перевіряти. Але насправді концепція відчувається, як щось із майбутнього, як щось, куди це все має прийти. Для використання необхідний Claude Code💬. Хоча інструмент і дає більшу ізоляцію, я б його не ризикнув запускати у власній мережі на постійній основі, можливо поки що. DevOps Інженер 👨🏼‍💻

Перший реквест до 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 Інженер 👨🏼‍💻

Не про ДевОпс. 🚽 Не маючи на меті будувати культ продуктивності, а бажаючи спокійно проводити вихідні, практикую таку просту фішку. Ввечері пʼятниці записую 2-5 екшен айтеми, що робитиму в першу чергу на ранок понеділку. 🧑‍🎓 1. Написати першому; 2. Поздвонити другому; 3. Уточнити в третього; 4. Не забути пофіксити четверте. Особливий кайф ловлю від того, що сам то почав робити, а не десь прочитав, але сподіваюсь комусь така схема теж стане в нагоді. В моєму випадку це знімає думки про таски і блокери на вихідних, бо мозок розуміє, що план дій вже є і достатньо його дотриматись. Вважаю, що фішка ефективна, бо результат відчуваєш вже на наступний день (суботу), а не як з довлготривалими трекерами/планнерами. DevOps Інженер 👨🏼‍💻

Головна новина за рік відсутності на каналі. 🎆 GCP нарешті релізнули нативну темну тему. Мені здалося якщо вони наважились ц
Головна новина за рік відсутності на каналі. 🎆 GCP нарешті релізнули нативну темну тему. Мені здалося якщо вони наважились це зробити, я просто не міг не наважитись запостити про це 😄. Далі більше!

Gift
x3

¡Ganadores seleccionados!

3 ganadores del sorteo

Fecha de finalización

Ну і за традицією, розіграш ТГ-Преміумів 🎁 для підписників. Всім дякую, хто слідкує. Бажаю спокійного і продуктивного року. Також всіх запрошую до чату каналу 💬. Бачу, що серед слідкуючих є як досвідчені, так і початківці. Тому це може стати гарним місцем для обміну досвідом. Вітаються як загальні питання так і окремі кейси.

Gift
x3

Premios del sorteo

3 suscripciones Premium de Telegram por 3 meses

Fecha de finalización

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

Ви знали, що "-p 80:80" у Docker, за замовчуванням, прив'язує порт до "-p 0.0.0.0:80:80"? Це означає, що порт контейнера відк
+1
Ви знали, що "-p 80:80" у Docker, за замовчуванням, прив'язує порт до "-p 0.0.0.0:80:80"? Це означає, що порт контейнера відкритий для всіх мережевих інтерфейсів, які можуть до нього достучатись (пристрої локальної мережі). Нещодавно я протестив це в кав'ярні і зміг отримати доступ до порта з іншого пристрою 😕. Що ще гірше, це може пройти повз ufw (firewall). Найпростіше рішення - відкривати порти таким чином: -p "127.0.0.1:80:80". Також, припускаю, що це може бути пофікшено на стороні мережі, щоб пристрої не могли спілкуватися один з одним напряму 🔒. 📌Як підняти Docker-контейнер локально? 📎Як написати Dockerfile? DevOps Інженер 👨🏼‍💻

Дійшли руки до власної homelab. 🧑‍🎓 Під homelab я маю на увазі створений в домашніх умовах k8s кластер із 1+ нодою. В моєму
Дійшли руки до власної homelab. 🧑‍🎓 Під homelab я маю на увазі створений в домашніх умовах k8s кластер із 1+ нодою. В моєму випадку нодою виступає старий, але дуже вірний, ThinkPad X250. Він, та трохи мережевого обладнання, використовують маленький EcoFlow як ДБЖ. Так - оверкіл, але чому ні, k8s тут теж оверкіл. 🤓 Для мене це щось нове - біганина від столу до шафи 10 разів на годину, бо чомусь не працює SSH або не резолвиться DNS сервера. P.s. Пости у більш звичному цьому каналу форматі будуть продовжуватись в тому ж темпі. Жартую, реально будуть. 😄 P.P.s. Ось як це компактно розмітилось у шафі. DevOps Інженер 👨🏼‍💻

Давно не бачились 😊 Поки я собі придумую подальші пости, ось мій досвід переїзду на k9s, тулу що візуалізує k8s кластер. Нав
Давно не бачились 😊 Поки я собі придумую подальші пости, ось мій досвід переїзду на k9s, тулу що візуалізує k8s кластер. Навіщо це треба? Підвищити продуктивність під час роботи із куб-кластерами. В цілому прога 8/10. Все працює швидко, класні хоткеї, переключення між кластерами, фільтри - все супер. Але мені не сподобалась документація проєкту і робота з логами контейнерів. Логи, як на мене, виглядають дуже нестабільно. Але 100% раджу спробувати, тим паче якщо використовуєте аналоги. Тут взаємодія із кластером без мишки, кастомні dotfiles, TUI та інше. DevOps Інженер 👨🏼‍💻

Трафік між Upstream та Downstream 🛡 Нещодавно розгубився в цих поняттях у контексті запитів між веб-серверами. Згідно RFC,
Upstream and downstream describe the flow of a message: all messages flow from upstream to downstream.
Наприклад, nginx явно зазначає групу серверів на які він проксує трафік, як upstream servers. Чому? По лінкам нижче доступні статті та відповіді де йдеться, що:
The response flow is the flow that is the basis for "upstream" and "downstream" in web services.
Мені більш сподобався варіант із депенденсі:
The downstream services are the ones that consume the upstream service. In particular, they depend on the upstream service.
В цих ситуаціях такі сервера дійсно є upstream. Sources: [1, 2] DevOps Інженер 👨🏼‍💻

Vertical та Horizontal scaling 🗣️ Навіщо інтернет магазину тримати одну кількість активних серверів вночі та на чорну п'ятницю? Саме для цього важливо притримуватись принципу масштабованості. Вертикальне масштабування (Scaling Up) - це збільшення розміру вже існуючого сервера. Тобто додавання RAM або CPU та інше. Горизонтальне масштабування (Scaling Out) - це додавання нових серверів до системи для розподілу навантаження між ними. Я асоціюю ці поняття із містом та селищем - в місті будують місткі хмарочоси🏙 (вертикальне), а в селищі маленькі хатки🏡 (горизонтальне). Надалі розглянемо як пов'язана тема масштабування із типом аплікейшену (Stateful або Stateless [пост про різницю цих понять]) #cloud #aws DevOps Інженер 👨🏼‍💻

На черзі повторення 🧑‍🎓. Яка Unix-тула дозволяє планувати виконання скриптів за розкладом?
Anonymous voting

Так, трохи підзабив 🏖️, тож реабілітуюсь 🏋️‍♀️ розбираємось у відмінностях declarative та imperative підходів. Declarative та Imperative - два підходи до написання коду (конфігурацій). Щоб зрозуміти із яким типом ви працюєте зараз, задайте собі питання:
Я зараз описую що саме повинна зробити программа (її output, declarative), чи яким чином діяти програмі (увесь process, imperative), щоб задовільнити мою потребу?
Наприклад: bash-скрипт - то imperative, бо ми кажемо нашому скрипту:
Спочатку сходи туди, перевір те і запусти інше
А от Terraform - це чистий declarative. Ми йому кажем:
Ось список бажаних ресурсів, і вже ти мені їх створиш, модифікуєш чи видалиш, коли я цього захочу
В цьому випадку весь Imperative реалізували розробники Terraform та його провайдерів 😉 #terraform DevOps Інженер 👨🏼‍💻

Gift
x3

¡Ganadores seleccionados!

3 ganadores del sorteo

Fecha de finalización

📞 Гарно почати ранок - це виставити правильний мікрофон перед дейліком. DevOps Інженер 👨🏼‍💻
📞 Гарно почати ранок - це виставити правильний мікрофон перед дейліком. DevOps Інженер 👨🏼‍💻

Змінні у Terraform, як і коли використовувати? Не дивно, що змінні - це іменовані комірки для даних. Коли їх використовувати?🤔 Уяви, що твій Terraform-код має підлаштовуватись під декілька інфраструктур різного розміру та призначення. У випадку EC2 машини, в змінні краще винести розмір, а, наприклад, AMI зачасту може бути статичним. 👨‍💻 Приклад:
variable "instance_type" {
  type    = string
  default = "t2.micro"
}

resource "aws_instance" "web" {
  ami           = "ami-a1b2c3d4"
  instance_type = var.instance_type
}
Відноситись до змінних варто, як до аргументів функції у програмуванні. Це все тому, що ми пізніше навичимось ділити наш код на модулі, де змінні і виступатимуть такими "аргументами". #terraform DevOps Інженер 👨🏼‍💻

Привіт, новий розіграш трьох Telegram Premium (на 3 місяці)💲. Для участі треба підписатись на цей канал. Дякую всім хто слідкує, сподіваюсь цей контент приносить користь у роботі або розумінні сфери в цілому. Реакції 👍, коменти 💬 та активні дискусії 💬 - краща мотивація для написання постів. Всім гарних вихідних) 😉

DevOps 👨🏼‍💻 Інженер - Estadísticas y analítica del canal de Telegram @devopsudo