Архив метки: AWS EKS

Kubernetes: metrics-server – 401 Unauthorized и kubelet stopped posting node status

21 апреля 2021
 

 На Dev-кластере Elastic Kubernetes Service несколько неймспейсов зависли при удалении – остаются в Terminating. “401 Unauthorized”, response: “Unauthorized” Помня похожий случай, где приичной стал metrics-server, см. Kubernetes: namespace висит в Terminating и неочевидности с metrics-server – первым делом пошёл проверять его логи: request failed – “401 Unauthorized”, response: “Unauthorized” – ага. И kubectl top node… Читать далее »

Kubernetes: AWS ALB Ingress Controller – добавление редиректа на другой домен

7 октября 2020
 

 Имеется приложение двух версий – старое и новое, и два домена – старый, и новый. Работает  в AWS Elastic Kubernetes Service, за AWS LoadBalancer, который создаётся из AWS ALB Ingress Controller. Задача – добавить редирект на LoadBalancer со старого домена на новый: старый: dev.api.old-example.com новый: dev.api.new-example.com В самом AWS LoadBalancer это делается через Listener Rules,… Читать далее »

Instana: мониторинг Kubernetes-кластера

12 августа 2020
 

 В дополнение к нашему Prometheus, который осуществляет общий мониторинг всех ресурсов, веб-разработчики попросили подключить им Instana. Из того, что нам сейчас интересно – Instana умеет мониторить Kubernetes кластера, и отдельные веб-сайты. Для мониторинга кластера будем запускать DaemonSet, который создаст поды с Instana-агентами на каждой рабочей ноде. А для мониторига веб-сайта – разработчики подключат библиотеку в… Читать далее »

Kubernetes: PersistentVolume и PersistentVolumeClaim – обзор и примеры

31 июля 2020
 

 Для работы с дисками для данных, которые должны храниться постоянно, Kubenetes предоставляет два типа ресурсов – PersistentVolume и PersistentVolumeClaim. PersistentVolume – непосредственно система хранения, раздел на жёстком диске, например AWS EBS, подключенном к одному из AWS EC2, и с точки зрения этого кластера является таким же ресурсом как, например, Kubernetes Worker Node. PersistentVolumeClaim – запрос… Читать далее »

Kubernetes: ClusterIP vs NodePort vs LoadBalancer, Services и Ingress – обзор, примеры

4 июня 2020
 

 Для сетевого взаимодействия Kubernetes предоставляет четыре типа Service-ресурсов – ClusterIP (дефолтный), NodePort, LoadBalancer и ExternalName, плюс ресурс Ingress. В этом посте разберём каждый из них, и попробуем их в работе. Документация по типам – Publishing Services (ServiceTypes). Рассматривается в основном AWS, потому учитываем, что сеть у нас – AWS VPC, балансировщики нагрузки – AWS ALB/CLB,… Читать далее »

Helm: пошаговое создание чарта и деплоймента из Jenkins

14 мая 2020
 

 Продолжаем трогать Kubernetes и Helm. Сам Хельм в общих чертах рассмотрели в посте Helm: Kubernetes package manager — обзор, начало работы – теперь надо прикрутить его в Jenkins. И не просто прикрутить его вызов – а создать чарт, потому что сейчас приложение деплоится через “голые” манифест-файлы Kubernetes, в котором sed проставляет теги Докер-образа и значения переменных… Читать далее »

Kubernetes: kubectl и kubeconfig – обзор файла, добавление кластера, пользователя и контекста

14 апреля 2020
 

 Аутентификация в Kubernetes может отличаться методами аутентификации, пользователями, правилами кластеров: сам kubectl может использовать различные способы аутентифицаии – сертификаты, логин-пароль сами пользователи могут использовать различные способы – токены, логин-пароль и т.д. и, в конце-концов, мы можем захотеть хранить в настройках доступ к различным кластерам, но иметь возможность манипулировать ими из одного места Для всего этого… Читать далее »

AWS Elastic Kubernetes Service: RBAC-авторизация через AWS IAM и RBAC группы

12 апреля 2020
 

 Имеется два новых проекта в Elastic Kubernetes Service (см. AWS: Elastic Kubernetes Service — автоматизация создания кластера, часть 1 — CloudFormation), каждый проект живёт в отдельном своём namespace. Кроме того, имеется два пользователя, разработчика, которым надо дать доступ к этим двум пространствам имён, но только на поды в них и только на определённые read-only операции.… Читать далее »

Kubernetes: мониторинг с Prometheus

8 апреля 2020
 

 Следующая задача – настроить мониторинг Kubernetes. Задача осложняется тем, что у нас есть целый набор ресурсов, которые требуется мониторить: инфраструктура – ЕС2 инстасы WokerNodes, их ЦПУ, память, сеть ключевые сервисы самого Kubernetes – состояние API сервера, etcd, scheduler состояние подов и контейнеров состояние деплойментов сбор метрик непосредственно с приложений Для мониторинга всего этого доступны следующие… Читать далее »

AWS Elastic Kubernetes Service: – автоматизация создания кластера, часть 2 — Ansible, eksctl

31 марта 2020
 

 Первая часть – AWS: Elastic Kubernetes Service – автоматизация создания кластера, часть 1 – CloudFormation. Напомню, что общая идея заключается в следующем: Ansible использует модуль cloudformation , создаёт инфрастуктуру используя Outputs созданного стека CloudFormation – Ansible из шаблона генерирует файл настроек для eksctl Ansible вызывает eksctl, передавая ему конфиг кластера, и создаёт или обновляет кластер Запускаться… Читать далее »