Архив рубрики: Virtualization

In computing, virtualization refers to the act of creating a virtual version of something, including virtual computer hardware platforms, storage devices, and computer network resources.

Kubernetes: мониторинг кластера с Prometheus Operator

18 июня 2020
 

 В продолжение поста Kubernetes: мониторинг с Prometheus, в котором мы настроили мониторинг вручную, и более-менее разобрались с тем, как оно всё внутри работает — теперь попробуем прикрутить Prometheus Operator из Helm-репозитория. Напомню, задача — поднять Prometheus и все необходимые експортёры в AWS Elastic Kubernetes Cluster, и с него через /federation передавать метрики на наш «центровой»… Читать далее »

Kubernetes: 503 no endpoints available for service — причина и решение

15 июня 2020
 

 Имеется Redis, для которого создан Service типа ClusterIP. К этому Редису должны ходить поды этого неймспейса (Gorush). Проблема в том, что поды с Gorush подключиться к Redis по адресу gorush-server-redis-svc:6379 не могут — отваливаются с ошибкой «Can’t connect redis server: connection refused«: Проверяем наличие сервиса: Ошибка «no endpoints available for service» Попробуем подключиться к сервису… Читать далее »

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: helm-secrets — шифрование sensitive данных с AWS KMS и деплой из Jenkins

15 мая 2020
 

 В продолжение поста Helm: пошаговое создание чарта и деплоймента из Jenkins — теперь нам надо добавить шифрование данных, что бы не хранить пароли и различные приватные ключи в открытом виде в Github-репозиториях — даже пусть и приватных. Судя по гуглу, чуть ли не единственный вариант — это использование helm-secrets (а подскажите в комментариях — кто… Читать далее »

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

14 мая 2020
 

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

Helm: Kubernetes package manager — обзор, начало работы

3 мая 2020
 

 На официальной странице Helm называет сам себя «The package manager for Kubernetes«, но на деле Helm нечто большее, чем просто менеджер пакетов для Kubernetes — скорее это система управления приложениями в Kubernetes, позволяющая выполнять их установку, отслеживать состояние, выполнять обновление, удаление. В этом посте рассмотрим основные понятия и компоненты Helm, работу с чартами, шаблонами, переменными… Читать далее »

AWS: CloudFormation — пример использования Conditions, Fn::Equals и Fn::If

20 апреля 2020
 

 Имеется стек, в котором среди прочего создаются VPC Peerings, в данном примере — пиринг между VPC нового кластера Elastic Kubernetes Service и VPC стека с Prometheus. Создание стеков и вообще всей этой автоматизации есть в постах AWS Elastic Kubernetes Service: автоматизация создания кластера, часть 1 — CloudFormation и AWS Elastic Kubernetes Service: — автоматизация создания кластера,… Читать далее »

AWS: eksctl — «Put http://169.254.169.254/latest/api/token: net/http: request canceled»

16 апреля 2020
 

 Имеется Docker-образ с eksctl. Имеется ЕС2 с Linux, на которой установлен eksctl. К ЕС2 поключен AWS IAM Instance Profile с политикой AdminAccess. На ЕС2 работает Jenkins, в Docker-контейнере, и свои джобы он запускает в отдельных контейнерах. Среди прочих — есть джоба на создание Elastic Kubernetes Service, которая вызывается из контейнера с eksctl. Проблема: при запуске… Читать далее »

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 операции.… Читать далее »