Миграция проекта из AWS на Bare Metal (часть 4)

ArgoCD

ArgoCD - это инструмент управления непрерывным развертыванием приложений, который позволяет автоматизировать процесс развертывания приложений в Kubernetes. Он может быть использован для управления приложениями на одной или нескольких кластерах Kubernetes и обеспечивает ресурсную автоматизацию, управление конфигурацией и версионность.

Одной из ключевых особенностей ArgoCD является то, что он работает на основе GitOps-подхода …

Миграция проекта из AWS на Bare Metal (часть 3)

MetalLB

MetalLB - это инструмент для Kubernetes, который предоставляет LoadBalancer-ы для кластеров, которые используют собственный сетевой стек вместо облачных провайдеров. В этом посте мы рассмотрим, как MetalLB работает и как его использовать.

Одной из главных особенностей MetalLB является то, что он может использовать протоколы BGP и ARP для связи с сетью …

Миграция проекта из AWS на Bare Metal (часть 2)

Кластер K8s

Итак, у нас есть большой сервер и было бы не плохо начать его наполнять. В первую очередь нам нужен кластер Kubernetes.

Деплой мастеров в режиме высокой доступности

Для начала я решил развернуть три мастера с балансировкой. Для чего это делается, я думаю, объяснять не надо.

Была взята вот …

Миграция проекта из AWS на Bare Metal (часть 1)

Выбор хостинг провайдера

Чтоб куда-то уехать из Амазона, надо выбрать куда. Порывшись в Гугле я отправил всего один вопрос в несколько хостингов:

За какое время мы можем получить новый работающий Bare Metal сервер?

И вот тут меня уже ждал сюрприз. Кто-то отвечал быстро в духе "от 1 до 4 рабочих …

Переключение языков в MacOS по CapsLock

Меня стала жутко бесить задержка при переключении языков в MacOS. Иногда оно срабатывает нормально, а иногда первая буква остается английской, а только потом идет переключение.

Когда ты набираешь текст быстро и переключаешься постоянно - выходить полная дичь и времени на правки уходит какое-то невероятное количество.

Пришлось разбираться, как же мне избавиться …

Проверка состояния кластера k8s

Новогодние праздники уже на носу и чтоб спокойно спать надо бы проверить как чувствует себя продакшн.

Если у вас все это завязано на Kubernetes, то попробуйте утилитку popeye.

Установка

Для MacOS установка проста как дверь:

brew install derailed/popeye/popeye

Для остальных систем смотрим официальную документацию и качаем готовые бинарники …

Защита SSH через port knocking

Иногда, по каким-то причинам необходимо закрыть какой-то порт так, чтоб к нему все же оставался доступ с любого IP адреса. Например, регулятор требует, чтоб SSH порт был закрыт для всего мира.

На выручку приходит port knocking.

Итак, поставим knockd и настроим его так, чтоб SSH был закрыт, но открывался при …

Не удаляется неймспейс в Kubernetes

После теста очередного софта в Kubernetes у меня не получилось удалить namespace этой утилиты.

Проблема была в том, что namespace оставался висеть в статусе Terminating. Пришлось разбираться почему и как его удалить.

Причина

При удалении неймспейса кубер проверяет специальное поле spec.finalizers в спецификации этого неймспейса. Если по какой-то причине …

Подпись git коммитов ssh ключом

Мы уже рассматривали зачем нужна подпись коммитов в одном из предыдущих постов.

Теперь же в git можно производить подпись коммитов и с помощью ssh ключа, чтоб не использовать gpg ключ, если он вам не нужен. Это отличная возможность, т.к. большинство людей используют SSH для доступа к репозиториям.

Подпись ключом …

k8s кластер из одной ноды

Для начала необходимо установить Docker:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt update && sudo apt install docker-ce

На данный момент kubernetes не поддерживает работу систем …