Senior DevOps Engineer/Системний (мережевий) адміністратор
Про компанію
Ми розвиваємо високонавантажену платформу з мікросервісною архітектурою. Основний стек розробки — Node.js (NestJS), PHP, PostgreSQL, Redis, RabbitMQ та Elasticsearch. Інфраструктура побудована на self-managed Kubernetes-кластері в DigitalOcean із використанням GitOps-підходу та сучасних інструментів автоматизації.
Шукаємо досвідченого DevOps-інженера, який візьме на себе розвиток і підтримку інфраструктури, автоматизацію процесів доставки та забезпечення стабільної роботи сервісів.
Основні обов’язки
- Підтримка та розвиток self-managed Kubernetes-кластера.
- Розвиток GitOps-підходу на базі ArgoCD.
- Побудова та оптимізація CI/CD процесів.
- Підтримка та розвиток систем моніторингу, логування та сповіщень.
- Забезпечення відмовостійкості та безпеки інфраструктури.
- Автоматизація рутинних процесів та інфраструктурних операцій.
- Участь у розслідуванні інцидентів та усуненні їх першопричин (Root Cause Analysis).
- Робота зі stateful-сервісами та високонавантаженими системами зберігання даних.
Вимоги
Kubernetes (ключова компетенція)
- Впевнений досвід експлуатації self-managed Kubernetes-кластерів.
- Досвід обслуговування control-plane та worker nodes.
- Виконання оновлень Kubernetes та компонентів кластера.
- Глибоке розуміння:
- Deployments
- StatefulSets
- DaemonSets
- Services
- ConfigMaps
- Secrets
- HPA
- PodDisruptionBudget
- ResourceQuota
- RBAC
- NetworkPolicy
- Робота з persistent storage:
- PV/PVC
- StorageClass
- NFS Provisioner та аналогічними рішеннями
- Навички діагностики:
- проблем scheduling
- мережевих проблем
- нестачі ресурсів
- OOMKilled
- Evictions
- деградації вузлів і сервісів
GitOps та ArgoCD
- Практичний досвід роботи з ArgoCD:
- Application
- ApplicationSet
- App-of-Apps
- Sync Policies
- ArgoCD Image Updater
- Організація feature environments для гілок та Pull Request.
- Побудова процесів, де Git є єдиним джерелом правди (GitOps).
- Робота з окремими інфраструктурними репозиторіями.
Helm
- Розробка та підтримка Helm-чартів.
- Створення багаторазових шаблонів.
- Версіонування чартів.
- Підтримка кількох середовищ:
- Development
- Stage
- Production
- Керування конфігурацією через values-файли.
CI/CD (GitLab)
- Досвід побудови складних пайплайнів GitLab CI/CD.
- Використання:
- include
- reusable templates
- workflow
- rules
- artifacts
- cache
- Реалізація стратегії релізів:
- dev
- stage
- main
- semver-теги (vX.Y.Z)
- release candidate (rc-X.Y.Z)
- Робота з:
- GitLab Container Registry
- приватним npm Registry у GitLab
- авторизацією через токени
Docker
- Створення оптимізованих multi-stage Dockerfile.
- Досвід контейнеризації:
- Node.js
- PHP/FPM
- Збірка під linux/amd64.
- Мінімізація розміру образів.
- Використання Alpine Linux.
- Робота з приватними npm-пакетами всередині контейнерів.
Networking, Ingress та TLS
- Практичний досвід роботи з:
- Envoy Gateway
- Kubernetes Gateway API
- Gateway
- GatewayClass
- HTTPRoute
- ReferenceGrant
- Досвід експлуатації nginx-ingress.
- Налаштування cert-manager:
- Let's Encrypt
- автоматичне продовження сертифікатів
- контроль строків дії сертифікатів
- Розуміння:
- DNS
- балансування навантаження
- DigitalOcean Load Balancers
Observability (обов’язково)
- Досвід експлуатації kube-prometheus-stack:
- Prometheus
- Grafana
- Alertmanager
- Створення:
- ServiceMonitor
- PodMonitor
- Alert Rules
- Grafana Dashboards
- Робота з логуванням:
- Loki
- Promtail
- Досвід налаштування експортерів:
- PostgreSQL Exporter
- Elasticsearch Exporter
- RabbitMQ Exporter
- x509 Exporter
- Розуміння та впровадження:
- SLI
- SLO
- Incident Management
- Root Cause Analysis
Бази даних та Stateful Infrastructure
- PostgreSQL у Kubernetes.
- Налаштування та підтримка PgBouncer.
- Організація резервного копіювання.
- Базове налаштування продуктивності PostgreSQL.
- Досвід роботи з:
- Redis
- RabbitMQ
- Elasticsearch
- Kibana
- ECK Operator
- Буде перевагою досвід роботи з data-heavy сервісами:
- Pelias
- Nominatim
- аналогічними системами індексації та геоданих
Автоматизація
- Впевнене володіння Bash.
- Python або Go для розробки внутрішніх утиліт та автоматизації.
- Вільне володіння YAML.
- Досвід використання:
- Reloader
- Reflector
- аналогічних Kubernetes-операторів
Безпека та експлуатація
- Керування секретами:
- Kubernetes Secrets
- External Secrets
- Sealed Secrets
- Vault
- Налаштування RBAC.
- Безпека контейнерних реєстрів.
- Безпека CI/CD процесів.
- Побудова стратегії Disaster Recovery.
- Організація резервного копіювання Kubernetes-кластера.
Системне/мережеве адміністрування
- Впевнене знання базової структури Unix-систем.
- Розгортання та налаштування основних self-hosted сервісів для циклів розробки.
- Оптимізація продуктивності системних служб.
- Забезпечення системної та мережевої безпеки.
Буде перевагою
- Terraform та Infrastructure as Code.
- Досвід міграції з nginx-ingress на Gateway API.
- Jenkins.
- Розуміння особливостей експлуатації:
- Node.js (NestJS)
- PHP-FPM
- Налаштування:
- readiness probes
- liveness probes
- graceful shutdown
- resource requests/limits
- Досвід роботи з монорепозиторіями або інфраструктурою з 10+ мікросервісів.
Ми пропонуємо
- Сучасний технологічний стек.
- Вплив на архітектурні рішення.
- Мінімум бюрократії та швидке прийняття рішень.
- Можливість розвивати інфраструктуру та впроваджувати найкращі практики.
- Гнучкий графік та віддалений формат роботи.
- Конкурентну заробітну плату за результатами співбесіди.
Формат роботи
- Віддалено.
- Повна зайнятість.
- Довгострокова співпраця.
При відгуку бажано надати посилання на GitHub, GitLab або приклади реалізованих інфраструктурних проектів.