Архив метки: Kubernetes

GitLab: Helm-чарт values, зависимости и деплой в Kubernetes с AWS S3

4 февраля 2023
 

 Продолжаем сетапить GitLab в Kubernetes. Первая часть – GitLab: компоненты, архитектура, инфраструктура и запуск из Helm-чарта в Minikube, теперь давайте готовиться деплоить в AWS Elastic Kubernetes Service. Что будем делать и где: деплоим в AWS из Helm-чарта, для начала какой-то “test env” Kubernetes – AWS EKS object store – AWS S3 PostgreSQL – из operator Redis –… Читать далее »

GitLab: компоненты, архитектура, инфраструктура и запуск из Helm-чарта в Minikube

2 февраля 2023
 

 Так как GitLab недавно изменил политику предоставления Free-доступа, и теперь по Free подписке будет доступно только 5 пользователей, то решили мы переезжать на self-hosted версию. Вообще с лицензией у них интересно: цена зависит от количества пользователей, купить можно минимум на год, и после покупки уменьшить количество пользователей в лицензии нельзя (но можно увеличить). Крутить будем… Читать далее »

Kubernetes: мониторинг стоимости кластера – Kubernetes Resource Report и Kubecost

23 января 2023
 

 Очень полезное дело – мониторить то, насколько эффективно используется кластер, особенно, если приложения деплоятся девелоперами, которые не сильно вникают в requests, и устанавливают завышенные значения “про запас”. Запас, конечно, нужен – но и просто так реквестить ресурсы идея плохая. К примеру, у вас есть WorkerNode у которой 4 vCPU (4.000 milicpu) и 16 GB RAM,… Читать далее »

Kustomize: управление манифестами Kubernetes – обзор, примеры

15 января 2023
 

 Kustomize – система управления конфигурациями (configuration management tool) для Kubernetes, позволяющая использовать общие наборы манифестов которые могут быть изменены для каждого конкретного окружения/кластера, и может быть альтернативой шаблонам Helm (или дополнять его). Общая концепция Kustomize – “where, what, and how” – “где, что и как”: “где” – это наш базовый манифест, например deployment.yaml “что” –… Читать далее »

Pritunl: запуск VPN в Kubernetes

5 октября 2022
 

 Pritunl – VPN-сервер с пачкой дополнительных возможностей по безопасности и управлению доступами. По сути – является просто обёрткой над OpenVPN, добавляя к нему такие себе Access Control Lists в виде Организаций, юзеров и роутов. Задача – развернуть тестовый инстанс Pritunl в Kubernetes, что бы потрогать его изнутри. Пока использовать будем бесплатную версию, попозже глянем платную.… Читать далее »

Kubernetes: Minikube, и LoadBalancer в статусе Pending

5 октября 2022
 

 После запуска Pritunl в Minikube невозможно подключиться к ВПН: … 2022-10-03 13:50:32 TCP/UDP: Preserving recently used remote address: [AF_INET]194.168.3.100:1194 2022-10-03 13:50:32 UDP link local: (not bound) 2022-10-03 13:50:32 UDP link remote: [AF_INET]194.168.3.100:1194 … Проверяем его Kubernetes Service: [simterm] $ kubectl -n pritunl-local get svc NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE pritunl LoadBalancer 10.102.129.25 <pending> 1194:30166/TCP… Читать далее »

Apache Druid: PostgreSQL в роли metadata storage и замена ZooKeeper на Kubernetes extensions

5 октября 2022
 

  Продолжим серию постов об Apache Druid. В первой части разобрались с Друидом – его архитектурой и мониторингом, во второй части – развернули кластер PostgreSQL и настроили его мониторинг. Следующие задачи: переключить Druid на использование PostgreSQL в роли metadata storage вместо Apache Derby и убрать из схемы Apache ZooKeeper , а вместо него подключить  druid-kubernetes-extensions Начнём с PostgreSQL. Настройки Apache Druid с PostgreSQL См. раздел PostgreSQL Metadata… Читать далее »

Apache Druid: обзор, запуск в Kubernetes и мониторинг с Prometheus

14 сентября 2022
 

 Apache Druid – колоночная база данных, ориентированная на работу с большими объемами данных, сочетающая в себе возможности и преимущества Time-Series Database, Data Warehouse и поисковой системы. Общая задача – настроить мониторинг кластера Druid в Kubernetes, для чего сначала посмотрим что это вообще такое и как оно всё работает, а затем запустим Друид и потрогаем его… Читать далее »

Prometheus: мониторинг AWS Load Balancer Controller Controller в AWS EKS

10 декабря 2021
 

 “Внезапно”, но AWS ALB Controller умеет в метрики для Prometheus. Используем стандартный URI /metrics. Для начала – проверим, что метрики в поде есть. Находим под: [simterm] $ kk -n kube-system get pod | grep aws aws-load-balancer-controller-7bdcf75789-wk4bt 1/1 Running 0 41h [/simterm] Пробрасываем на него порт: [simterm] $ kk port-forward -n kube-system pods/aws-load-balancer-controller-7bdcf75789-wk4bt 8080:8080 Forwarding from… Читать далее »

Kubernetes: менеджер плагинов Krew и полезные плагины для kubectl

1 октября 2021
 

 Одна из наиболее приятных возможностей kubectl – это его расширяемость за счёт плагинов. Конечно, есть Lens, который прям отлично заходит разработчикам, которые не очень любят консоль, или есть k9s, но плагины kubectl – отдельная тема. В этом посте установим Krew для управления плагинами, и рассмотрим несколько наиболее интересных, с моей личной точки зрения, плагинов. Krew… Читать далее »