Связаться по:
[email protected]

Блог о системном администрировании серверов и сайтов

Установка, настройка программного обеспечения Linux, Windows операционных систем

Варианты установки Kubernetes

Rate this post

В предыдущей статье мы рассмотрели, что такое проект управления контейнерами Kubernetes, теперь рассмотрим, какие варианты установки используют DevOps администраторы.

В зависимости от задач установить Kubernetes можно разными способами. Нужно предупредить, что руководства в интернете работают не всегда, в первую очередь потому, что проект быстро развивается и многие вопросы давно упрощены.
Для локальной установки рекомендуется Minikube, реализующий однокластерную систему, используя системы виртуализации.
Другой вариант – использование исходных текстов мастер ветки  или bash-скрипт. В случае исходных текстов тоже есть варианты: можно установить систему или, распаковав архив, просто запустить ее в однокластеровом варианте (при остановке все данные теряются):

Перед этим понадобится установить Go (на нем написан K8S), etcd, cfssl и некоторые другие компоненты (баз настройки). Сам мастер кластер работает и с 2 Гб ОЗУ, но во время такого развертывания скрипт может потребовать больше памяти, даже на ПК с 8 Гб. В Linux это можно разрешить при помощи:

Процесс установки из исходных текстов рассматривать не будем, развернем кластер из репозитория. В качестве ОС используем Ubuntu 16.04 LTS.

Установка Docker

Кроме специфических операций, о которых пойдет речь отдельно, все действия производятся на master и minion.
Обновляем систему:

Устанавливаем Docker. Добавляем официальный репозиторий Docker:

Обновляем список пакетов:

Здесь есть нюанс, о котором нужно знать. Текущая версия Kubernetes не поддерживает storage-driver = overlay2, и инициализация мастера в этом случае выдает ошибку.
А Docker 1.13 устанавливает именно в таком варианте, если обновлять с Docker 1.11+, то все нормально. Проверить текущие настройки Docker можно командой:

Если в ответ получили overlay2, то нужно изменить параметры запуска Docker и перезапустить сервис:

Вероятно, понадобится удалить подкаталог overlay. Устанавливаем дополнительные пакеты:

Разрешаем автозапуск сервиса при загрузке ОС:

Чтобы выполнять команды Docker без привилегий администратора, добавляем текущего пользователя в группу docker:

Устанавливаем Kubernetes

Самый простой и правильный способ развертывания боевого кластера – это использование из официального репозитория Google. На всех системах кластера (master + minion) добавляем репозиторий Kubernetes:

Устанавливаем пакеты:

Устанавливаем автозагрузку сервиса:

Инициализируем мастер (см. рис. 1). Это делается всего одной командой:

управление контейнерами docker

Настройки в консоли производятся при помощи утилиты kubectl. Например, смотрим настройки и статус кластера:

Устанавливаем add-on network, выбор зависит от ситуации, мы же используем один из самых популярных:

После этого обязательно проверяем, что служба kubedns находится в рабочем состоянии:

Опционально устанавливаем веб-интерфейс. Все настройки прописаны в YAML-файле, и его нужно лишь активировать традиционным для K8S способом:

Веб-интерфейс будет доступен на 8080-м порту: http://localhost:8080/api/v1/proxy/namespaces/kube-system/
services/kubernetes-dashboard. Для удобства его можно пробросить iptables или настроить прокси на этот адрес (не забыв закрыть доступ паролем, если он доступен извне).
Для управления кластером с другого комьютера необходимо установить kubectl и скачать файл /etc/kubernetes/admin.conf:

Еще важный момент. По причинам безопасности в настройках по умолчанию мастер вообще не запускает ноды, чтобы разрешить это, нужно выполнить команду:

Подключаем minion. В процессе установки мастера будет получен токен, который используется в команде kubeadm join для подключения minion —token=4f539…0978. В качестве IP указывается адрес мастер сервера.

Аналогично поступаем на остальных minion. Подключенные ноды на мастере можно увидеть командой:

Подробности (см. рис.):

настройка кластера управления контейнерами

Установка, настройка и управления контейнерной виртуализацией, обращайтесь [email protected]

Оставить комментарий

Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.