Как развернуть kubernetes кластер за несколько минут

Что такое CSE

Сontainer service extension (CSE) – это расширение VMware vCloud Director, которое помогает арендаторам легко развертывать, масштабировать и управлять кластерами Kubernetes и обеспечивать их жизненный цикл.

Кто работает с CSE

Администратор Облачного ЦОДа использует CSE-клиент для управления кластерами Kubernetes: развертывания, добавления и удаления рабочих узлов, настройки хранилищ и т.п. (кстати, всю эту работу мы можем взять на себя, оперативно создавая и расширяя ваши кластеры по заявке в техподдержку).

Разработчики и другие пользователи взаимодействуют с созданными кластерами CSE Kubernetes, используя kubectl. Для них ваши кластеры Kubernetes работают так же, как любые другие реализации кластеров Kubernetes. Никаких специальных знаний vCloud Director или администрирования CSE не требуется. Таким пользователям даже не нужна учетная запись vCloud Director.

Какое ПО необходимо Вам для работы

Для того, чтобы приступить к развертыванию кластера, администратору Облачного ЦОДа необходимо установить на своей рабочей станции CLI для работы с vCloud Director (vcd-cli) и CSE-расширение для него. Это программное обеспечение очень легковесно (~100 КБайт), для работы требует только установленного python и работает практически на любой версии ОС от linux и MacOS до Windows.

Разработчикам и пользователям Kubernetes достаточно иметь kubectl на своем ноутбуке или рабочей станции.

Пример установки vcd-cli, CSE и kubectl на ОС Windows 7 приведен в нашей базе знаний.

Все варианты установки vcd-cli подробно описаны здесь, CSE – здесь.

Создание кластера Kubernetes

Используя реквизиты доступа к панели управления Облачным ЦОДом, подключаемся к Облачной платформе и смотрим доступные ресурсы:

# vcd login dc.rtcloud.ru democompany org_admin
# vcd vdc info Demo


edit00

Для примера создадим кластер из одной мастер-ноды и трех рабочих нод с конфигурацией 2CPU+4GB RAM, используя диски типа STANDARD, с подключением всех узлов к сети wan.democompany

# vcd cse cluster create MyCluster --nodes 3 --cpu 2 --memory 4096 --network "wan. democompany" --storage-profile "S_STANDARD"


edit00

ВажноВНИМАНИЕ

Убедитесь, что в Вашем Облачном ЦОДе достаточно ресурсов (в нашем примере 4*2=8 CPU и 4*4GB=16GB RAM) для развертывания такой конфигурации, а сеть wan.democompany имеет достаточное количество свободных IP-адресов (в нашем примере – 4).
Кластер можно развернуть и в маршрутизируемой сети. В этом случае, перед командой развертывания, организуйте соединение локальной сети кластера с вашей рабочей станцией, например, через VPN. Варианты реализации VPN-соединения с помощью программного маршрутизатора на базе VMware Edge описаны, например, здесь и здесь.

Cохраним конфигурацию развернутого кластера на свою рабочую станцию (или станции разработчиков) и отключимся от панели управления:

# vcd cse cluster config MyCluster > .kube\config
# vcd logout


edit00

Кластер готов к использованию.

Дополнительно

Дополнительные возможности

Возможности команды vcd весьма обширны: с ее помощью можно гибко управлять Вашим Облачным ЦОДом, организовать мониторинг использования ресурсов, автоматизировать различные операции по обслуживанию развернутых виртуальных машин т.п. Здесь подробно описаны все доступные vcd команды.

Весь жизненный цикл создаваемых кластеров (добавление и удаление нод, подключение постоянных томов, удаление и т.п.) обеспечивает команда vcd cse . Подробнее про CSE можно почитать тут.

Подключение к кластеру Kubernetes

Подключаемся к кластеру c помощью kubectl, используя сохраненный файл конфигурации:

# kubectl --kubeconfig=".kube\config" get pods --all-namespaces


edit00

Для подключения к дашборду выполним следующие действия:

# kubectl create -f https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/ deploy/recommended/kubernetes-dashboard.yaml
# kubectl create serviceaccount cluster-admin-dashboard-sa
# kubectl create clusterrolebinding cluster-admin-dashboard-sa --clusterrole=cluster- admin --serviceaccount=default:cluster-admin-dashboard-sa


edit00

Ищем запись типа cluster-admin-dashboard-sa-token-***** , копируем токен для входа и запускаем proxy:

# kubectl get secret | findstr dashboard
# kubectl describe secret cluster-admin-dashboard-sa-token-859xx | findstr "token:"
# kubectl proxy


edit00

С полученным токеном авторизуемся в браузере на странице: http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/#!/node?namespace=default


edit00

Дашборд доступен:


edit00

Контакты

8 800 333 14 22
Рейтинг@Mail.ru
Яндекс.Метрика