Знаю, що тут є не тільки починаючі, але і досвідчені 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 Інженер 👨🏼💻
Я б оцінив їх рівнем 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🔥3 2
Тестик на повторення 🖥 . Як називається головний, супер-адмін юзер у AWS 🖼️ .
Anonymous Quiz
13%
16%
17%
53%
Що таке Terraform State File? ❓
Вивчаючи Terraform🖼️ , важливо розібратись як відбувається "трекінг" існуючих ресурсів.
📎Що таке Terraform?
Terraform State File — це JSON-файл, що зберігає список ресурсів, сторених використовуючи Terraform, та взаємозвʼязки між ними.
Зберігати файл можно локально (не варто), або в бакеті на хмарі.
📎Що таке Amazon S3?
Завдяки State файлу можливе планування змін (
#terraform
DevOps Інженер 👨🏼💻
Вивчаючи Terraform
📎Що таке Terraform?
Terraform State File — це JSON-файл, що зберігає список ресурсів, сторених використовуючи Terraform, та взаємозвʼязки між ними.
Зберігати файл можно локально (не варто), або в бакеті на хмарі.
📎Що таке Amazon S3?
Завдяки State файлу можливе планування змін (
terraform plan) та відстеження відхилення "реальної" інфраструктури від написаного коду.#terraform
DevOps Інженер 👨🏼💻
Please open Telegram to view this post
VIEW IN TELEGRAM
Привіт, новий розіграш трьох 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