Kubespray-as-a-Service — добавляем Kubernetes к любому облаку

в 7:28, , рубрики: Ansible, devops, docker, kubernetes, kubespray, микросервисы, облачные сервисы
image

Вам нужен Kubernetes, а у вашего облачного провайдера такой услуги нет? Мы используем несколько провайдеров и ни у одного из них нет Kubernetes-as-a-Service. Wigin это очень простой в использовании веб-сервис с UI, который может быстро и просто развернуть кластер Kubernetes на любые серверы. И даже немного больше.

Концепция

Сервис называется Wigin по трем причинам. Первая причина в том, что мы используем kubespray для развертывания kubernetes, а kubespray весь сделан на Ansible. Вторая состоит в том, что Ansible это Philotic Parallax Instantaneous Communicator — устройство для мгновенной коммуникации на любом расстоянии. Именно его использовал Эндер Виггин (Wiggin) для геноцида Жукеров. Почитайте «Игра Эндера».

Третья причина — домен wiggin.io был занят.

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

При этом для конфигурации кластера мы не изобретаем паровоз, а используем стандартный kubespray, который, по сути, есть набор ansible плейбуков. В результате вы получите кластер kubernetes в режиме HA, который можно будет масштабировать также через Wigin.

Как это работает

Конфигурация кластера не займет более 5 минут.

  1. Вы логинитесь в Wigin и создаете новый кластер.
  2. Затем вам нужно скачать или скопировать SSH ключ, который нужно положить на серверы, которые вы будете использовать для вашего кластера. Этот автоматически сгенерированный ключ, специально для вашего кластера. Он нужен, чтобы Wigin мог разворачивать ансибл плейбуки на серверах.
    Как добавить SSH ключ на существующий сервер

    Если ваш сервер уже создан, то проще всего сделать следующее:

    cat <PUBLIC_KEY_FILE> | ssh root@<SERVER_IP> "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

    Консоль спросит у вас пароль от указанного пользователя (в данном примере — root).
    PUBLIC_KEY_FILE — файл с ключом, который вы скачали из Wigin;
    SERVER_IP — адрес вашего сервера.
    Еще больше вариантов здесь.

  3. Затем нужно ввести список IP адресов ваших серверов. Не забудьте нажать +.
  4. Осталось только нажать Deploy Cluster.

После успешного выполнения плейбука появится инструкция, и вы сможете скачать kubeconfig файл для доступа к кластеру. В дальнейшем мы также планируем добавить возможность конфигурации настроек плейбука. Все, ваш Kubernetes up&running. Кстати, вигин бесплатный и будет таковым оставаться.

Но все может быть интереснее

Сейчас Wigin разворачивает кластер Kubernetes, но на месте kubespray может быть любое приложение для которого есть ansible playbook. Значит таким образом можно разворачивать любое кластерное приложение.

Автор: Vladimir Porokhov

Источник


* - обязательные к заполнению поля