Одной из ключевых проблем для операций Kubernetes Day 2 является наблюдение, то есть целостное представление о здоровье вашей системы. Именно здесь Botkube помогает улучшить ваш опыт мониторинга ваших кластеров Kubernetes, отправив уведомления на поддерживаемые платформы обмена сообщениями. Botkube помогает вам решить несколько интересных вариантов использования, например, мониторинг сбоя в резервном копировании Velero или выпуск сертификации/статус истечения срока действия Cert-Manager и т. Д. Ранее мы обсуждали, как интегрировать мониторинг сертификации с использованием Botkube Анкет В этом блоге мы настроим Botkube для мониторинга ваших резервных копий Velero и восстановления.
Что такое Botkube?
Botkube — это инструмент для обмена сообщениями для мониторинга и отладки кластеров Kubernetes. Botkube может быть интегрирован с несколькими платформами для обмена сообщениями, такими как — Slack, Matters Leators или Microsoft, чтобы помочь вам контролировать ваши кластерные (ы) Kubernetes, отладки критических развертываний и дают рекомендации для стандартных практик, проводя чеки на ресурсах Kubernetes. — Botkube сайт
Что такое Велеро?
Велеро является инструментом с открытым исходным кодом для безопасного резервного копирования и восстановления, выполнения аварийного восстановления и переноса ресурсов Kubernetes Cluster. — Велеро
Он поддерживает снимки постоянных объемов вашего кластера, используя хранилище вашего облачного поставщика и восстановление постоянных объемов из снимков.
Рассматривая резервные решения для аварийного восстановления, мы хотим обеспечить резервное копирование для ETCD — восстановить наши основные узлы и конфигурации кластеров; и постоянный объем для данных приложения. С помощью Velero вы можете создать снимки громкости, резервные копии по требованию, запланированные резервные копии или восстановить резервные копии.
Как контролировать резервные копии Velero с помощью Botkube?
С выпуском Botkube v0.11.0+поддерживается мониторинг любых ресурсов Kubernetes, включая пользовательские ресурсы. Это позволяет нам настроить оповещения и уведомлять о Создать
, Удалить
, Ошибка
События Velero Resources. Botkube может уведомить нас о событиях и обновлениях в статус. Фаза
поле в Velero.io/v1/backups
и Velero.io/v1/restores
ресурс.
Предварительные условия
Этот пост предполагает, что у вас уже есть кластер Kubernetes, и на нем работают Velero и Botkube. Если у вас нет этих вещей, следуйте этому разделу, чтобы получить минимальную настройку, работающую поверх Minikube. Мы будем настраивать Botkube с Slack для этого урока. Вы можете использовать Любой другой интерфейс, подобный материю, команды MS, Discord и т. Д. Поддерживается и Botkube.
Как создать кластер Kubernetes с Minikube?
- Установите Minikube на вашем компьютере, следуя инструкциям дано здесь Анкет
Чтобы запустить кластер Minikube, запустите следующую команду.
Установить и настройку Botkube
- Установите Helm на вашем компьютере, следуя инструкциям дано здесь Анкет
Чтобы добавить
Infracloudio
Хелм -диаграмма репозитория, запустите следующую команду.Установите приложение Botkube Slack в свою рабочую область, следуя инструкциям, приведенным в Этот раздел документации Анкет Вам будет предоставлен токен доступа к Slack Bot, обязательно сохраните его.
Чтобы создать файл значений руля для Botkube, запустите следующую команду.
Чтобы создать пространство имен и установить Botkube, запустите следующую команду.
Убедитесь, что стручки работают.
Если какая -либо из вышеперечисленных инструкций не работает, пожалуйста, обратитесь к Официальная страница документации Botkube Для обновленной версии этих инструкций.
Как установить Велеро?
Велеро состоит из:
- Клиент командной строки, который работает локально
- Сервер, который работает на вашем кластере
Чтобы установить клиент CLI локально, загрузите и извлеките Последний релиз Tarball для вашей клиентской платформы. Переместите извлеченный бинар Velero, где -то в вашем $ Path
Установите Velero в свой кластер:
Добавить
vmware-tanzu
Репозиторий руля, запустите следующую команду.Настройка учетных данных провайдера. Следуйте инструкциям настройки плагинов Velero для вашего облачный провайдер Анкет Например, если вы используете AWS (как это делает это руководство), следуйте Инструкции по настройке плагинов AWS Чтобы создать пользователь IAM и ведро S3 и получить файл учетных данных.
Установите Велеро. Добавьте ниже в велеро-значениях. YAML для настройки значений.
Установите диаграмму Velero
Убедитесь, что стручки работают.
Если какая -либо из вышеперечисленных инструкций не работает, посмотрите на Официальная страница документации Велеро Для обновленной версии этих инструкций.
Давайте настроим Botkube для мониторинга
Теперь мы настроим Botkube для мониторинга резервные копии
и восстанавливает
Пользовательские ресурсы Велеро.
Добавьте следующий фрагмент под конфигурация
в botkube-values.yaml
файл.
#config: ## Resources you want to watch resources: - name: velero.io/v1/backups namespaces: include: - all events: - all updateSetting: includeDiff: true fields: - status.phase - name: velero.io/v1/restores namespaces: include: - all events: - all updateSetting: includeDiff: true fields: - status.phase
Это настраивает Botkube для начала мониторинга Velero.io/v1/backups
и Velero.io/v1/restores
ресурс. Он отслеживает все операции, такие как Создать
, Обновление
, Удалить
, Ошибка
Из всех пространств имен.
Мы также контролируем статус. Фаза
Поле из пользовательских ресурсов Велеро. Это создаст уведомление, когда операция запускается.
Чтобы обновить развертывание Botkube, запустите следующую команду Helm.
helm upgrade botkube infracloudio/botkube -n botkube -f botkube-values.yaml
Вы можете прочитать больше об этой конфигурации в resource_config.yaml Syntax раздел документации.
Давайте протестируем нашу настройку Botkube
Мы будем развернуть пример приложения NGINX, присутствующего в папке Velero, которая была извлечена из Velero-X.Y.Z.TAR.GZ во время установки.
$ cd velero-v1.6.0-linux-amd64 $ kubectl apply -f examples/nginx-app/base.yaml namespace/nginx-example created deployment.apps/nginx-deployment created service/my-nginx created $ kubectl get pods -n nginx-example NAME READY STATUS RESTARTS AGE nginx-deployment-57d5dcb68-xn8xc 1/1 Running 0 97s nginx-deployment-57d5dcb68-zl26q 1/1 Running 0 97s
Велеро может резервное копирование или восстановить все объекты в вашем кластере, или вы можете фильтровать объекты по типу, пространству имен и/или метке. Мы создаем резервную копию nginx-backup
Чтобы включить все ресурсы из nginx-example
Пространство имен.
velero backup create nginx-backup --include-namespaces nginx-example
Нанесите хаос! Давайте удалим пример приложения NGINX, используя команду ниже:
$ cd velero-v1.6.0-linux-amd64 $ kubectl delete -f examples/nginx-app/base.yaml namespace "nginx-example" deleted deployment.apps "nginx-deployment" deleted service "my-nginx" deleted $ kubectl get pods -n nginx-example No resources found in nginx-example namespace.
Теперь мы восстановим nginx-backup
резервный. Нам нужно предоставить имя резервного копирования в -из-за спины
Параметр, чтобы определить, какое резервное копирование мы хотим восстановить.
$ velero restore create nginx-backup --from-backup nginx-backup Restore request "nginx-backup" submitted successfully. Run `velero restore describe nginx-backup` or `velero restore logs nginx-backup` for more details.
Вывод
В этом посте мы обсудили, что такое Botkube и Velero. Мы также рассмотрели, как вы можете настроить Botkube для мониторинга резервных копий Velero для ваших кластеров Kubernetes. Точно так же мы можем использовать Botkube для мониторинга любых пользовательских ресурсов, обновляя конфигурации ресурсов.
Надеюсь, вы нашли этот пост в блоге информативным и привлекательным. Если у вас есть какие -либо вопросы, не стесняйтесь обратиться ко мне в LinkedIn Анкет Для обычных облачных нативных обновлений от Infracloud следуйте за нами на LinkedIn и Twitter Анкет
Оригинал: «https://dev.to/infracloud/monitoring-velero-backup-and-restore-with-botkube-2g4b»