tag:blogger.com,1999:blog-44690950638505741442024-03-11T01:36:17.405+02:00ipeacocks blog"Ctrl+V" from Internet...Unknownnoreply@blogger.comBlogger96125tag:blogger.com,1999:blog-4469095063850574144.post-86122160234757265622023-06-20T01:51:00.020+03:002023-11-25T17:48:50.514+02:00Kubernetes. Part VIII: EKS Cluster With Terraform, AWS LB ControllerЦього разу подивимось на установку Elastic Kubernetes Service (EKS), версії Kubernetes, що керується cloud-платформою Amazon. Він з'явився у 2018 році і є кращим способом установки Kubernetes в цьому середовищі. Також поглянемо на AWS Load Balancer Controller, що самостійно імплементує Ingress та Service (type: LoadBalancer) абстракції.Раніше я вже писав про Kops, 3rd-party спосіб інсталяції Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4469095063850574144.post-16990289921450069872023-06-18T01:33:00.005+03:002024-01-04T02:13:25.896+02:00Terraform. Managing AWS Infrastructure
Terraform - це програма для побудови та безпечного обслуговування інфраструктури. Його основний розробник, компанія HashiCorp, представила перший реліз Terraform в 2012 році і наразі будь-хто може приєднатись до його розробки.
Ресурси в Terraform описуються як код на власній декларативній мові HCL (Hashicorp Common Language), тому він з легкістю може бути доданий до системи контролю версій наUnknownnoreply@blogger.com0tag:blogger.com,1999:blog-4469095063850574144.post-35278746181216513922023-04-30T00:50:00.013+03:002023-11-27T17:30:42.637+02:00Kubernetes. Part VII: Setup Cluster With K0sKubernetes - це скоріше фреймворк для побудови кластеру, тому способів його розгортання є дуже багато, хоч вони і різні за актуальністю. Останнім часом з'явилось багато managed-рішень від cloud-платформ і менших хостерів на зразок DigitalOcean чи Scaleway. Установка ж на bare-metal інсталяції часто буває складнішою, адже потрібно наперед продумати деякі додаткові аспекти.Раніше я вже описував Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4469095063850574144.post-59812106414191042532022-06-21T12:15:00.016+03:002022-06-22T00:29:08.492+03:00Prometheus. Setup And Monitoring In KubernetesЦього разу я не буду починати статтю із історії появи та особливості Prometheus, адже раніше вже опублікував подібну. У ній ми також зупинились на складових частинах моніторингової системи та її конфігурації для звичайних вузлів. Цього разу поговоримо про місце, яке займає Prometheus в моніторингу Kubernetes, його додатків та підсистем.WHAT IS PROMETHEUS OPERATORPrometheus реалізований як Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4469095063850574144.post-53345050331774054172022-04-27T13:57:00.008+03:002022-04-27T14:05:18.785+03:00Istio. Part II: Concepts And Traffic ManagementМинулого разу ми познайомились із Service Mesh, поговорили про історичні передумови його появи та встановили Istio. Про особливості його використання згадали лише мимохіть, тож в цій частині спробуємо це виправити.Для того щоб рухатись далі необхідні робочі Kubernetes та Istio. Версії, котрими я користуюсь, можна знайти в попередніх статтях. Для зручності також можна встановити MetalLB, що Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4469095063850574144.post-27263863027684776762022-04-16T16:23:00.009+03:002022-06-27T01:23:39.326+03:00Istio. Part I: Service Mesh. Intro And InstallationЦе вступна перша стаття про Istio і основи його роботи. У ній також торкнемось основ Service Mesh, його призначення та бонусів, що він надає.1. WHAT IS SERVICE MESHОтже почнемо із Service Mesh. Однією із причин її появи стало збільшення кількості різноманітних мікросервісів в інфраструктурах великих компаній після ділення монолітних додатків. Як наслідок цього процесу зросла кількість Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4469095063850574144.post-54364353308170024362022-03-09T13:30:00.007+02:002023-04-13T03:14:59.773+03:00Kubernetes. Part V: Configure And Use Ingress. MetalLB
Ця стаття вже п'ята з серії статей про Kubernetes. Перед її прочитанням рекомендую ознайомитись хоча б з базовими об'єктами кластеру та їх використанням для вирішення задач.
Сервіси Kubernetes надають можливість створення постійних точок входу до контейнерів додатків, що працюють в подах, проте IP адреси сервісів обираються з діапазону оверлейної мережі, і тому є видимими лише в межах Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4469095063850574144.post-55192032589615988072022-03-08T07:42:00.002+02:002023-05-15T14:54:21.667+03:00Kubernetes. Part III: Objects And How To Use Them
Отже у нас вже є готовий налаштований кластер і, озброївшись необхідним теоретичним мінімумом, ми можемо переходити до подальшого вивчення Kubernetes. Цього разу ми поговоримо детальніше про основні примітиви (objects) Kubernetes, як вони взаємодіють між собою та як реалізовані.
Забігаючи наперед, основні команд для отримання даних про роботу об'єктів є наступні:
kubectl get object_type Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4469095063850574144.post-78662198657988499132022-03-08T01:25:00.007+02:002023-11-27T02:51:25.697+02:00Kubernetes. Part II: Setup Cluster With Kubeadm. Plugins
Після ознайомлення з теорією можна перейти і до практичної частини. Цього разу установимо кластер Kubernetes на bare-metal, тобто звичайні віртуальні машини чи залізні сервера, що не входять до існуючих IAAS платформ.
Способів установки Kubernetes кластеру існує дуже багато. Всі ці перераховані варіанти різної актуальності, необхідно дивитись і перевіряти все уважно, щоб не витратити зайвого Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4469095063850574144.post-27072280578216848842022-02-23T15:55:00.009+02:002023-04-05T03:02:47.417+03:00Kubernetes. Part I: Overview
Яка ж мета існування всіх сучасних PaaS платформ? Які додатки варто на них запускати? Далеко не всі існуючі рішення є сенс запускати на таких платформах. Перш за все додаток має бути відповідно написаний, а точніше відповідати 12 вимогам (twelve-factor app методологія). Слідування цим вимогам може надати такі переваги вашому додатку:
- Зменшить час на входження нових розробників до проекту.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4469095063850574144.post-24076759340146265412022-01-09T03:50:00.024+02:002022-04-28T00:37:26.209+03:00Redis ClusterЯ вже якось писав про базові можливості Redis і про способи забезпечення вищої доступності. Але цей цикл статей не був би повний без статті про Redis Cluster, інсталяції, що покриває як питання високої доступності, так і шардингу. 1. INTRORedis Cluster має наступні переваги/особливості:Висока доступність та горизонтальне масштабування до 1000 вузлів. Проте consistent hashing відсутній: Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4469095063850574144.post-53112498320816262682021-07-09T01:53:00.005+03:002021-07-09T12:50:55.039+03:00Atlantis. Terraform Pull Request AutomationЦього разу піде мова про Atlantis, програму що автоматизує роботу із Terraform та в деяких випадках може значно спростити взаємодію із ним.Atlantis - це самодостатній додаток на Golang, що слідкує за відкритими Pull Requests системи контролю версій за допомогою event-ів, що власне остання і надсилає. Під системою контролю версій мається на увазі Github, GitLab, Bitbucket чи Azure DevOps. Тобто цеUnknownnoreply@blogger.com0tag:blogger.com,1999:blog-4469095063850574144.post-55694086957356608292020-05-11T22:02:00.002+03:002022-06-10T01:27:24.869+03:00Pulumi. Part II: AWS Subnets and Fargate
Минулого разу ми торкнулись причин появи нового IaС продукту Pulumi та спробували розібратись із базовими принципами його роботи на прикладі створення простого AWS S3 buсket-у. Наразі ж спробуємо описати на Python-інтерфейсі Pulumi власний VPC із підмережами та ECS Fargate кластер, тобто значно ближчий до реального життя випадок. Також побачимо як користуватись S3-бекендом для збереженняUnknownnoreply@blogger.com0tag:blogger.com,1999:blog-4469095063850574144.post-83836487489415010462020-05-07T17:24:00.000+03:002020-05-14T00:22:18.873+03:00Pulumi. Part I: Overview
Загальні практики вказують на те, що зберігати налаштування як код корисно навіть для будь-яких відносно простих систем. Тобто усі параметри, їх зміни та авторів досить легко переглядати і відслідковувати в системі контролю версій, а за необхідності їх можна повертати до попередніх значень, якщо щось пішло не за планом. У разі якщо стан системи описаний як код, дуже легко та швидко підняти Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4469095063850574144.post-43889017074973843762019-07-28T23:32:00.002+03:002019-07-29T15:02:15.016+03:00WireGuard VPN. Part II: Setup And Usage
Минулого разу ми говорили про ідеї, що підштовхнули до створення мережевого тунелю WireGuard, та алгоритми, що лежать в його основі. Цього ж разу спробуємо налаштувати WireGuard і пересвідчимось, що VPN is fun again.
1. SETUP
WireGuard ще не включено до кодової бази ядра Linux і наразі розповсюджується як DKMS-модуль. У якості сервера Wireguard працює лише на Linux, а у якості клієнта - Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4469095063850574144.post-45697984004331410202019-06-02T02:01:00.002+03:002019-07-07T00:16:30.837+03:00WireGuard VPN. Part I: Intro
WireGuard - сучасний мережевий тунель, що працює на 3 рівні моделі OSI, повністю реалізований в просторі ядра Linux (хоча клієнти можуть працювати і в просторі користувача) завдяки чому досягається вища швидкість передачі даних на відміну від OpenVPN. Останній має значно більшу кодову базу (~120 тисяч рядків коду проти 4000 WireGuard) і лише частково працює в просторі ядра.
WireGuard Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4469095063850574144.post-12351733907557295702018-12-25T12:08:00.005+02:002022-04-11T20:02:33.852+03:00Graphite. Stack Based On ClickHouse
Graphite - це моніторингова система, що працює за push-моделлю, тобто отримує дані від вузлів, а не опитує їх. Вона чудово підходить для збирання та аналізу метрик і, завдяки вбудованому механізму ущільнення даних (storage aggregation/rollup/retention/downsampling), ці дані можуть зберігатись на протязі дійсно пристойного часу (декілька років).
Graphite був написаний Крісом Дейвісом (Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4469095063850574144.post-91778890686902155452018-10-15T22:48:00.001+03:002018-12-25T19:50:50.655+02:00Prometheus. From Metrics To Insight
Prometheus - моніторингова система з відкритим вихідним кодом, була створена та розроблялась в компанії Soundcloud з 2012, а в 2015 році представлена публічно і наразі розвивається незалежно.
Переважно написана на мові Go колишніми співробітниками компанії Google. Прототипом Prometheus виступала моніторингова система Borgmon. Ця моніторингова система має наступні переваги/недолікиUnknownnoreply@blogger.com0tag:blogger.com,1999:blog-4469095063850574144.post-15963449733579504792018-06-28T22:32:00.003+03:002023-04-30T01:08:41.024+03:00Kubernetes. Part VI: Setup HA Master Cluster on AWS With Kops
Раніше я вже робив огляд актуальних способів установки Kubernetes та описував досить детально його установку через Kubeadm і Kubespray. Цього ж разу мова піде про інший метод установки кластеру високої доступності - Kops.
Kops (Kubernetes Operation) - це програмне забезпечення написане на мові Go, що дозволяє вирішувати проблеми установки та обслуговування кластеру Kubernetes. Серед його Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4469095063850574144.post-35859586163017824452018-04-01T13:45:00.000+03:002018-05-13T22:05:58.909+03:00OpenLDAP Server. Part II: FusionDirectory LDAP Browser
Нещодавно я оновив статтю про установку та налаштування OpenLDAP серверу, де також торкнувся теми підвищення безпеки інсталяції та використання панелі адміністрування phpLDAPadmin. Цього ж разу я хочу приділити увагу іншій веб-інтерфейсу FusionDirectory.
FusionDirectory - програмний комплекс, що забезпечує зручне управління даними в LDAP-каталозі. Це форк проекту Gosa², який відбувся в Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4469095063850574144.post-55634500977327740672017-12-14T00:28:00.002+02:002023-04-30T01:08:18.180+03:00Kubernetes. Part IV: Setup HA Cluster With KubesprayKubespray (раніше Kargo) - це набір Ansible ролей для установки та конфігурації системи оркестрації контейнерами Kubernetes. У якості IaaS-у в цьому випадку може виступати AWS, GCE, Azure, OpenStack чи звичайні віртуальні машини. Це проект з відкритим вихідним кодом та відкритою моделлю розробки, тому за бажанням кожен може вплинути на його життєвий цикл.
Нещодавно я писав про Unknownnoreply@blogger.com6tag:blogger.com,1999:blog-4469095063850574144.post-69093550234457995462017-05-15T13:26:00.000+03:002018-04-04T01:16:51.745+03:00Cloud Foundry. Part III: BOSH 2 Lite/Cloud Foundry (Diego)
Декілька тижнів тому я опублікував другу статтю про PAAS-платформу Cloud Foundry, а цього разу мова піде про установку нового Cloud Foundry з Diego runtime. Нагадаю, що Diego має купу вдосконалень в порівнянні з DEA, а саме нова система менеджменту контейнерів Garden, що підтримує деплой Docker-контейнерів, новий алгоритм розміщення задач Diego Auction та інші оптимізації.
Підтримка DEA буде Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-4469095063850574144.post-20853026377331423822017-05-01T17:44:00.003+03:002022-01-08T19:02:20.969+02:00Cloud Foundry. Part II: BOSH Lite/Cloud Foundry (DEA)
Зовсім нещодавно я написав першу ввідну статтю про PAAS-платформу Cloud Foundry , а зараз я пропоную локально встановити та на практиці оцінити цю платформу.
Є 2 найпростіші способи спробувати Cloud Foundry на локальній системі: PCF Dev та BOSH Lite. У цій статті буде розглянуто останній варіант, як більш гнучкий, проте і складніший. У якості хост-системи буде використано macOS, але звісно Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4469095063850574144.post-18295184561743262922017-04-16T15:46:00.001+03:002018-06-18T18:28:31.551+03:00Cloud Foundry. Part I: Basics
Cloud платформи дозволяють будь-кому розгортати мережеві програми чи сервіси за лічені хвилини. Більш того, вони спрощують масштабування програм для потреб обслуговування більших навантажень, завдяки ним це відбувається кількома командами. Cloud платформи дозволяють розробникам більше фокусуватись на розробці кінцевого продукту, а не на інфраструктурі, що лежить в його основі. Проте, Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4469095063850574144.post-55436986560434542382017-02-03T23:38:00.001+02:002018-04-24T01:44:49.216+03:00OpenVPN Part II: Connect Two Local Networks (Tun Interface)
Декілька тижнів тому я опублікував першу статтю про програму OpenVPN, де описав декілька способів її практичного використання. Цього разу я розповім про те, як об’єднати дві різні локальні мережі, в результаті чого кожен із вузлів буде мати доступ до всіх інших вузлів обох підмереж. Звісно дуже раджу спочатку ознайомитись із першою статтею, яка надасть необхідний теоретичний мінімум.
Для Unknownnoreply@blogger.com0