Kubernetes — Одна роль для нескольких пространств имен

    Цель: Есть 2 пространства имен, это "kube-system" и "default". Нужно запускать крон задачу в пространстве "kube-system", которая будет очищать выполненные джобы и поды в пространстве "default". Для этого создадим сервис аккаунт в пространстве "kube-system", роль с необходимыми правами в пространстве "default", и для созданного аккаунта привязываем созданную роль. cross-namespace-role.yaml

AWS — Lambda: kubectl

Пример того, как можно создавать сущности в Kubernetes, используя AWS Lambda. Функция будет на Python3, так что воспользуемся Kubernetes Python Client Больше примеров по использованию можно найти тут. Так как AWS Lambda не поддерживает данный пакет, упакуем в нашу функцию модули "kubernetes" и "boto3". "boto3" понадобится для обращения в AWS SSM, где будет хранится kubeconfig … Продолжить читать "AWS — Lambda: kubectl"

Jenkins — Kubeconfig

  Для хранения и переключения между конфигурациями Kubernetes'а, можно воспользоваться плагином Kubernetes CLI, для работы с ним в системе должен быть установлен "kubectl" Устанавливаем плагин Переходим в настройки Jenkins'а   Раздел "Управление плагинами"   Переходим к вкладке "Доступные" и в поиске указываем "Kubernetes CLI" Устанавливаем его.   Добавляем Kubernetes config   Переходим в "Credentials" и … Продолжить читать "Jenkins — Kubeconfig"

EKS — RollingUpdate с запуском pod’а на том же инстансе

Необходимо выполнить обновление пода без даунтайма, но у пода есть volume, который является EBS, и может быть приатачен одновременно только к одному из EC2 инстансов. Поэтому необходимо, чтобы под был запущен на той же ноде, для этого можно воспользоваться "podAffinity" deployment.yaml

Kubernetes — Dashboard через service по HTTPS (AWS EKS)

Задача: Получить доступ к Kubernetes Dashboard по доменному имени, а не используя "kubectl proxy". Так же подключение должно осуществляться по HTTPS, но при этом вести на внутренний локальный адрес, доступный только через VPN, и не используя для этого никаких Ingress'ов.   Редактируем деплоймент "kubernetes-dashboard":   Приводим аргументы к следующему виду:   А так же для … Продолжить читать "Kubernetes — Dashboard через service по HTTPS (AWS EKS)"

Kubernetes — NFS provisioner

  Установим NFS provisioner в Kubernetes кластер, для существующего NFS сервера   Дано: 192.168.1.1 — IP адрес NFS сервера /var/lib/nfs — путь NFS директории на сервере   Устанавливаем используя HELM:   Опцией "fullnameOverride" перезапишем полное имя чарта, так как он после имени все равно добавит "nfs-client-provisioner"   Делаем NFS типом хранилища по умолчанию:   Теперь … Продолжить читать "Kubernetes — NFS provisioner"

Kubernetes — Horizontal pod autoscaler на основе кастомных метрик

Спасибо Daniel Vaughan за данную статью. Для горизонтального автоскалирования подов (HPA) на основе кастомных метрик, нам понадобятся: Prometheus Operator Prometheus Adapter Все это, мы будем устанавливать используя Helm. Установку Helm'а можно посмотреть тут.   Создадим директорию для хранения Helm values:   Создадим values файл для Prometheus Operator'а:   Устанавливаем Prometheus Operator:  

Kubernetes — OpenVAS

  Пример манифеста для создания конфигмапа, деплоймента, сервиса и ингреса для OpenVAS manifest.yml     Логин по умолчанию — "admin", если не задаете пароль через переменную "OV_PASSWORD", то пароль — "admin"