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

Что такое CSE

Container 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 приведен в нашей базе знаний.

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

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

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

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

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

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

Создадим кластер из одной мастер-ноды и трех рабочих нод

Внимание!

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

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

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

Сохраним конфигурацию развернутого кластера на свою рабочую станцию

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

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

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

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

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

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

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

# 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

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

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

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

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

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

С полученным токеном авторизуемся в браузере на странице

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

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

Рейтинг@Mail.ru Яндекс.Метрика