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

DevOps нормальними словами - від Docker до RAG.
Пояснюю складне просто. Для тих, хто росте в IT.
Download Telegram
This media is not supported in the widget
VIEW IN TELEGRAM
23
Всіх вітаю, запускаю новий розіграш трьох Telegram Premium, для участі підпишись на канал і приймайте участь вище. 🖥

Дякую всім хто слідкує за постами, реагує, пропонує теми та примає участь у дискусіях, це найкраща мотивація створювати контент.
Please open Telegram to view this post
VIEW IN TELEGRAM
101
DevOps 👨🏼‍💻 Інженер pinned «Всіх вітаю, запускаю новий розіграш трьох Telegram Premium, для участі підпишись на канал і приймайте участь вище. 🖥 Дякую всім хто слідкує за постами, реагує, пропонує теми та примає участь у дискусіях, це найкраща мотивація створювати контент.»
Також, протягом останніх тижнів ми розглянули цікаві теми по Docker 🖼️, і якщо ви їх пропустили, ось посилання на пости:

📌Як підняти аплікейшн у контейнері? Розгортання програм у контейнерах для одноразових потреб.
📎Як написати Dockerfile? Створення власного імейджа за допомогою команд FROM, RUN, COPY.
📌Як створити перший CI пайплайн? Автоматизація білду Docker-імейджів через GitHub Actions.
📎Як зберігати Docker images? Інструкція по зберіганню імейджів у Docker Hub та інших сервісах.

DevOps Інженер 👨🏼‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
93👍1
Зараз на канал заходить багато нових людей, тому пост типу Day in the Life of a DevOps Engineer буде цілком в тему.

🌻 Ранок:
Перевірка пошти та каналів комунікації, стенд-ап.
Дивимось важливі нотіфікейшени. Політ нормальний)

💻 День:
Налаштування CI/CD, їх швидкість, безпека.
Модифікація ресурсів через Terraform (бази даних, віртуальні машини).
Підтримка оточень розробки та раніше створених рішень із автоматизації.

⭐️ Друга половина дня:
Автоматизація вищеописаних процесів: чи не круто коли ресурси, що використовуються для автоматизації процесів, створюються також автоматично.

🌒 Вечір:
Заливання нової версії в продакшн. Дивимось метрики, що все іде по плану.

(Це все не обовʼязково в один день 😄)

DevOps Інженер 👨🏼‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
16🔥41
This media is not supported in your browser
VIEW IN TELEGRAM
Як встановити змінні оточення GitHub Actions🏛?

У попередньому пості ми розібрали, як пушити Docker-імейджі 🖼️ в Docker Hub. Важливий крок — це авторизація через docker login.
Локально все просто: ввели пароль в консолі й готово. Але треба памʼятати - ні в якому разі не можна комітити секретні дані у віддалений репозиторій. Як тоді передати ці дані в CI?

Для цього GitHub Actions має можливість використовувати змінні оточення. Достатньо в налаштуваннях репозиторію додати свої секрети, в нашому випаду це DOCKERHUB_USERNAME та DOCKERHUB_PASSWORD, і вони стануть доступними під час виконання.

Надалі ми розглянемо, як використати ці змінні у процесі CI.

#docker

DevOps Інженер 👨🏼‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
7🔥3👍21
Що таке Amazon S3 🖼️?

Якщо ви користувались Google Drive або Dropbox, то вже дотично знайомі із зберіганням файлів у хмарі. S3 — це подібний сервіс від Amazon, але з розширеними можливостями для розробників та бізнесу.

Ось приклад таких можливостей:
🗂Versioning: Зберігає попередні версії файлів, дозволяючи відкотитись у разі потреби.
🌐Static Hosting: Дозволяє розмістити статичний веб-сайт безпосередньо на S3.
Lifecycle Rules: Автоматизує видалення (і не тільки) файлів за встановленими правилами.

Як створити свій перший S3 бакет? Terraform edition
Чих:
provider "aws" {
region = "us-east-1"
}

resource "aws_s3_bucket" "favourite_one" {
bucket_prefix = "my-first-s3-bucket-"
}

Пих:
terraform init
terraform apply

І готово)

#aws

DevOps Інженер 👨🏼‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍136
Повторення 🖥. Яка директорія Linux зберігає поточну інформацію про процеси та стан ядра?
Anonymous Quiz
14%
🤓 /stat
70%
☺️ /proc
13%
😏 /root
4%
🧑‍💻 /dev
8🔥43
Як працюють Docker Volumes?

Нещодавно ми розглянули принципову різницю між Stateless (web-server) і Stateful (database) аплікаціями.

Із вищезгаданого посту зрозуміло - ми не можемо покладатись на файлову систему контенеру у сценаріях довгострокового збереження інформації. Файловою системою, якій ми дійсно довіряємо є ФС нашого пристрою.

Docker Volumes 🖼️ - це елегантний інтерфейс інтеграції ФС хосту всередину ФС контейнера. Тобто, тепер ми зберігаємо і контролюємо важливу інформацію в надійному місці і за потреби маунтимо її всередину доволі непостійного за своєю натурою контейнеру. 😉

Вийшла суха, але доволі важлива теорія. Надалі розглянемо це на практиці.

#docker

DevOps Інженер 👨🏼‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
9👍3🔥2
Твій перший повноцінний CI пайплайн❗️

Навчившись білдити Docker імейджі у GitHub Actions, нам залишається запушити збілджені імейджі у віддалений репозиторій.
📎 Що таке віддалений репозиторій?

Нагадаю, ось невеличка репка із вже готовим докерфайлом, залишається зробити fork і додати свій пайплайн.
📎 Як форкнути репку і додати свій пайплайн?

Тепер додаємо секрети DOCKERHUB_USERNAME та DOCKERHUB_PASSWORD із даними вашого акаунту.
📎 Як додати секрети у GitHub Actions?

Створюємо GitHub Actions із наступною конфігурацією:
name: Docker Image CI
on:
push:

jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Docker Login
uses: docker/login-action@v3.3.0
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_PASSWORD }}
- name: Build and push Docker images
uses: docker/build-push-action@v6.7.0
with:
push: true
tags: ${{ secrets.DOCKERHUB_USERNAME }}/my-very-first-ci:latest


Попередньо створіть репозиторій my-very-first-ci у своєму DockerHub акаунті.
📎 Як створити DockerHub репозиторій?

Готово! Кожна зміна коду призведе до автоматичного апдейту імейджа. Перевірити це можна на самому DockerHub по даті останнього пушу імейджа.

#docker

DevOps Інженер 👨🏼‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍841
Знаю, що тут є не тільки починаючі, але і досвідчені DevOps'и. Тож хочу пошарити декілька акуальних статей мого авторства.
Я б оцінив їх рівнем intermediate(+), оскільки потрібні знання і практичні навички у AWS, EKS і менеджменту конфігурацій в цілому.

📌Fine-Tuning EKS Clusters with Karpenter: DevOps Insights. medium🇬🇧 | dou🇺🇦
Про те, як оптимізувати свій EKS кластер за допомогою Karpenter.

📌Managing microservice configs with Cuelang. Implementing ArgoCD custom plugin. medium🇬🇧 | dou🇺🇦
І про те, як менеджити конфігурації більш ефективно із Cuelang.

Фідбек тут і у самих сурсах вітається)

#aws
DevOps Інженер 👨🏼‍💻
👍12🔥32
Тестик на повторення 🖥. Як називається головний, супер-адмін юзер у AWS 🖼️.
Anonymous Quiz
13%
😎 admin-юзер
16%
🤨 super-юзер
17%
😉 master-юзер
53%
🙃 root-юзер
12👍3
Що таке Terraform State File?

Вивчаючи Terraform🖼️, важливо розібратись як відбувається "трекінг" існуючих ресурсів.
📎Що таке Terraform?

Terraform State File — це JSON-файл, що зберігає список ресурсів, сторених використовуючи Terraform, та взаємозвʼязки між ними.

Зберігати файл можно локально (не варто), або в бакеті на хмарі.
📎Що таке Amazon S3?

Завдяки State файлу можливе планування змін (terraform plan) та відстеження відхилення "реальної" інфраструктури від написаного коду.

#terraform
DevOps Інженер 👨🏼‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
9👍5
This media is not supported in the widget
VIEW IN TELEGRAM
18🔥6👍2
Привіт, новий розіграш трьох Telegram Premium (на 3 місяці)💲. Для участі треба підписатись на цей канал.
Дякую всім хто слідкує, сподіваюсь цей контент приносить користь у роботі або розумінні сфери в цілому. Реакції 👍, коменти 💬 та активні дискусії 💬 - краща мотивація для написання постів.

Всім гарних вихідних) 😉
Please open Telegram to view this post
VIEW IN TELEGRAM
33👍143
DevOps 👨🏼‍💻 Інженер pinned «Привіт, новий розіграш трьох Telegram Premium (на 3 місяці)💲. Для участі треба підписатись на цей канал. Дякую всім хто слідкує, сподіваюсь цей контент приносить користь у роботі або розумінні сфери в цілому. Реакції 👍, коменти 💬 та активні дискусії 💬 - краща…»
Змінні у 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 Інженер 👨🏼‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍5🔥1
📞 Гарно почати ранок - це виставити правильний мікрофон перед дейліком.
DevOps Інженер 👨🏼‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
😁99👍2