Один из наших ключевых департаментов «ЦИФРОВЫЕ РЕШЕНИЯ», команды которого занимаются созданием продуктов завтрашнего дня для современных банков, находится в поисках DevOps-специалиста.
Обязанности:
- Администрирование Kubernetes, Deckhouse;
- Разработка, запуск и поддержка конвейера непрерывного развертывания ПО (Jenkins, Gitlab, Nexus Registry);
- Интеграция инструментов, обеспечивающих конвейер непрерывной поставки;
- Подготовка, автоматизация подготовки инфраструктуры для сборки, развертывания и тестирования ПО;
- Работа в кроссфункциональной команде, налаживание эффективных коммуникаций;
- Своевременное внедрение практик автоматизации в процесс;
- Участие в разработке релизных политик и стратегий развития процесса DevOps.
Требования:
Уверенное знание Linux:
- процессы, девайсы, дисковые разделы, lvm, файловые системы, неймспейсы и cgroups;
- загрузчики, процесс загрузки, systemd и юниты;
- сетевая подсистема netfilter, пользовательские утилиты: iptables, shorewall, tc и т.д. базовое знание сетевых протоколов;
- виртуализация — в первую очередь kvm, так же знать виды виртуализации и другие технологии;
- настройка и работа с базовыми сервисами: dhcpd, nfs, sshd, dns(bind), mail(postfix, sendmail), web(nginx, apache, caddy, traefik etc), database(mysql, postgres);
- базовый скриптинг на bash/python;
- базовый траблшутинг.
Уверенное знание Kubernetes:
- Знания отличий Managed решений между вендорами: GKE, EKS, AKS. Какие есть преимущества и недостатки;
- Понимание, умение работать и дебажить основные объекты: Pod, Deployment, Replicaset,Jobs / Cron Jobs, Daemonset, Statefulset;
- Типы Service-ов. Что такое Ингресс;
- Работы с Configmap, Secrets. Sealed secrets, external-secrets;
- Понимание отличий между sidecar и init контейнерами и их применение при необходимости;
- Автоскейлинг кластера. Использование разных типов нод для cost-optimization;
- Применение продвинутых техник шедулинга подов: nodeSelector, affinity, antiAffinity, topologySpread;
- Управление ресурсами пода / неймспейса;
- Понимание и умение настраивать RBAC, Network Policies;
- Понимание отличий между Admission and Mutating контроллерами. И возможность написать свое решение при необходимости;
- Применение ServiceMesh там, где это надо;
- Повсеместное применение/внедрение Security практик. Использование OPA (Open Policy Agent), если необходимо;
- Понимание архитектуры: какие есть компоненты, за что отвечают, как связаны между собой.
Уверенное знание Helm:
- “Чтение“ публичных helm чартов. Какие переменные можно использовать, куда подставляются, из каких k8s манифестов состоит чарт;
- Написание своих собственных чартов. При этом необходимо придерживаться принципа DRY. Использовать циклы, условия, функции там, где это необходимо, чтобы сократить количество кода. При этом темплейты должны быть читаемы;
- Написание так называемых Umbrella charts, если это необходимо;
- Кастомизация публичный чарт (т.е. добавление новых объектов в чарт);
- Опыт работы с такими инструментами как: helm-diff, helmfile.
- Знание Git;
- Знание Docker;
- Знание CI/CD.
Наш стек:
- DevOps инструменты (Jenkins, Ansible, Terraform, Nexus, Gitlab);
- Облачные технологии, системы виртуализации (OpenStack, Kubernetes, Docker);
- Брокер сообщений (Kafka);
- Операционные системы Linux (Alt Linux, Astra Linux);
- Системы мониторинга и аудита (Grafana + VictoriaMetrics, Opensearch).
Знаешь на отлично Linux? Приходи, остальному научим!
Уверенно знаешь Linux + Kubernetes? Стучись, дадим хорошие условия!