Архивы рубрики ‘DevOps’

Установка Kubernetes-кластера с помощью kubeadm на виртуальных машинах c Ubuntu18.04

Настройка Kubernetes-кластера из 1-го мастера и 2-х нод на виртуальных машин c Ubuntu 18.04 Для практической работы были взяты виртуалки в Digital Ocean(2Gb, 2СPU) с бесплатным бонусом в размере 100$ в течение 60 дней при регистрации на Digital Ocean. Алгоритм действий состоит из следующих шагов 1.Подготовка к запуску кластера(отключение swap, настройка /etc/hosts-файла серверов, установка имени […]

Настройка Cloud Nat для приватного Kubernetes кластера в Google Cloud

Cloud NAT позволяет виртуальным машинам и подам выходить в Интернет, используя общий публичный IP-адрес. Приватный Google Kubernetes-кластер, ноды которого не имеют публичных IP-адресов используются в случае: — с точки зрения безопасности,чтобы невозможно было подключиться к ним снаружи — необходимо,чтобы все ноды/поды выходили в Интернет с одного(или нескольких) IP-адреса/ов(например, для добавления этих одного/нескольких IP-адресов в white-листы […]

Настройка pipeline авто-деплоя в Kubernetes-кластер с помощью Gitlab и Helm

Имеются два окружения staging и production(так же будут называться и namespace-ы в Kubernetes-кластере) Настраиваем автоматический deploy в Kubernetes кластер при коммите в одну из веток При коммите в ветку develop – деплой приложений в namespace staging При коммите в ветку staging – деплой приложений в namespace production С помощью GitlabCI выполняется деплой,в котором используется Helm-чарт […]

Мониторинг Kubernetes кластера с помощью Prometheus

За основу был взят стек мониторинга Prometehus с помощью Prometheus operator отсюда https://github.com/helm/charts/tree/master/stable/prometheus-operator https://coreos.com/operators/prometheus/docs/latest/user-guides/getting-started.html Все параметры, которые необходимо было переопределить указаны в файле custom-values.yaml Мониторинг стек запускается с помощью Helm-чарта

Обновление стека выполняется командой

  Установка Helm клиента https://docs.helm.sh/using_helm/#installing-helm https://docs.helm.sh/using_helm/

Последняя версия доступная здесь https://github.com/helm/helm/releases

Проверка текущего контекста,куда будет установлен […]

Установка и базовая настройка Google Cloud SDK для работы с Google Kubernetes кластером

Установка gcloud Перед использованием необходимо создать проект и включить биллинг для этого проекта в Google Console Экспорт переменной окружения с корректным дистрибутивом

Добавление репозитария Googl SDK

Импортирование Google Cloud публичного ключа

Обновление локального кеша пакетов и установка google-cloud-sdk

Базовая инициализация конфигурации

— разрешаем доступ для gcloud в Google-аккаунте — выбираем […]

Запуск локального Kubernetes кластера с помощью Minikube c KVM2-драйвером

Minikube позволяет запускать одно-нодовый Kubernetes кластер внутри виртуальной машины на локальном компьютере Проверка поддержки процессором виртуализации

  Установка minikube https://kubernetes.io/docs/tasks/tools/install-minikube/ Загрузка бинарника minikube,установка бита исполнения на него и копирование в /usr/local/bin для того,чтобы minikube был доступен в переменной PATH

Для использования minikube предварительно необходимо установить kubectl и kvm2-драйвер   Установка и настройка […]

Мониторинг Docker контейнеров, Docker-хостов в Docker Swarm и в ECS-кластерах с помощью Prometheus+Grafana+AlertManager+Node-exporter+Cadvisor

За основу был взять стек мониторинга отсюда https://github.com/stefanprodan/swarmprom В наличие 3 ноды в Docker Swarm-кластере: одна нода — manager и две ноды — worker

Например, мониторинг стек будем запускать на мастере(на продакшен для этого нужно выделить отдельную ноду, которую нужно добавить в Swarm-кластер и именно на этой ноде запускать мониторинг) А также имеется […]

Использование AWS Parameter Store для безопасного хранения credentials для ECS-tasks

Использование AWS Parameter Store для хранения credentials, ключей и другой sensitive данных, которые нежелательно хранить в открытом виде в репозитарии или в образе. В ECS-кластере на основе EC2-инстанса запускаем Task CouchDB-prometheus-exporter, в котором происходит подключение к CouchDB-серверу для снятия статистики и предоставления метрик для мониторинг сервера(Prometheus) В Task definition будем использовать переменные, значения которых будут […]

Jenkins: создание pipeline Continuous Delivery процесса с деплоем на Docker Swarm Cluster для нескольких окружений

Предположим, у нас есть два окружения Staging и Production На Staging окружении деплоится ветка c именем staging, а на Produсtion – с именем master Тип сборки в Jenkins – pipeline multibranch Запуск сборки выполняется автоматически при коммите в репозитарий(Bitbucket) Настройка автоматического запуска сборки при коммите в репозитарий Bitbucket описана здесь https://kamaok.org.ua/?p=2833 При использовании типа сборки […]

Jenkins: Настройка агента на основе Amazon EC2-инстанса

Ранее рассматривалась настройка Jenkins агентов(slave) на основе отдельного Linux-сервера и Docker контейнера В данной статье рассмотрим настройку Jenkins-агента(slave) на основе динамического создания(и удаления) Amazon EC2-инстанса В AWS-консоли В IAM-вкладке 1.Создать группу jenkins,присодинить к этой группе роль AmazonEC2FullAccess 2.Создать пользователя jenkins(тип c Access/Secret key), включить его в группу Jenkins,сохранить Access/Secret ключи 3.В EC2-вкладке Создать пару SSH-ключей […]


Thanx: Remont-vdom
Яндекс.Метрика