AWS — EKS Fargate — Fluentd CloudWatch

На момент написания статьи EKS Fargate не поддерживал драйверлог для записи в CloudWatch. Единственный вариант — использовать Sidecar Создадим ConfigMap, в котором укажем имя EKS кластера, регион и namespace:   Далее создадим сервис аккаунт и ConfigMap с файлом конфигурации для Fluentd. Для этого скопируем текст ниже и сохраним его как файл "fluentd.yaml"   И применим … Продолжить читать "AWS — EKS Fargate — Fluentd CloudWatch"

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

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

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"

Kubernetes — Сохраняем все манифесты существующего кластера

  Для сохранения всех манифестов создайте BASH скрипт:   Cо следующем содержимым:   Добавьте бит исполнения и запустите его:   После выполнения в текущей директории в папке "k8s-manifests" будут сохранены все манифесты упорядоченные по неймспейсам и типам.