Kube01 Challenge

Kube01 Challenge


Итак, приступим к самому интересному! 

Вам нужно запустить kubernetes из первого коммита и развернуть в нем nginx. При нажатии кнопки «Начать задание» запустится стенд с тремя виртуальными машинами.

Kube01 Challenge

kube01-master — будущий control plane кубернетеса. В папке /root/kubernetes/target/ собраны бинарники куба (из первого коммита) и установлен etcd нужной версии.

kube01-minion1 и kube01-minion2 — воркеры kubernetes. В папке /root/docker/bundles/1.0.0/binary/ лежит собранный docker версии 1.0.0 https://github.com/moby/moby/tree/v1.0.0/ , в /root/kubernetes/target/ собранные бинарники куба (из первого коммита). 

В этом кубе есть небольшой хак: строки 240-243 закомментированы, так как docker 1.0.0 работает только с докерами и registry версии v1, текущие публичные registry протокол v1 не поддерживают. Поэтому мы импортировали в docker готовые образы протокола v1 и убрали строки, которые отвечают за пуллинг. Аналога параметра imagePullPolicy в kubernetes из первого коммита не было.

Ваша задача:

  1. Запустить все компоненты kubernetes и настроить взаимодействие между ними. 
  2. Развернуть nginx:
  • для развертывания nginx используем механизм replicationController , название replicationController”а должно быть myNginx
  • в качестве образа используем mirror.gcr.io/nginx:1.7.11
  • должно быть 2 реплики nginx, они должны быть на разных машинах
  • должен быть настроен «балансировщик», который распределяет нагрузку между nginx, она должна работать на 10001 порту. Балансировщик должен быть реализован одним из компонентов kubernetes, нельзя использовать внешний nginx в качестве балансировщика 

Когда ваш стенд будет запущен, бот пришлёт ссылку и пароль для доступа. После этого перейдите в VS Code Server — в нём можно запустить консоль с доступом к серверам. Для получения списка серверов, нужно выполнить:

$ merctl provision

Подключение к серверам (ssh ubuntu@<ip адрес>) нужно выполнять из-под пользователя coder (этот пользователь используется по умолчанию).

Все команды на серверах master, minion1 и minion2 стоит выполнять из-под root пользователя.

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

Время работы стенда с момента получения ссылки — 3 часа

Когда задание выполнено, нужно запустить проверку в терминале:

$ merctl.test

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

Если задание выполнено неверно — проверка выдаст ошибку. Стенд будет работать 3 часа, за это время вы можете исправить ошибку. Проверку можно запускать неограниченное количество раз, но по окончании времени стенд автоматически выключится. 

На решение задания даётся одна попытка, повторно развернуть стенд не получится.

Подведение итогов — 10 сентября в 19:00. По итогам общего рейтинга 10 самых быстрых участников получат от нас памятный сувенир — футболку с Котзиллой.


P. S. Пожалуйста, обратите внимание, что количество одновременных участников челленджа ограничено. Если все доступные стенды окажутся заняты, мы добавим вас в очередь и уведомим, когда появится свободный стенд. Stay tuned. 


Если по ходу решения задачи у вас появятся вопросы, присылайте нам их в бот через команду /help или по кнопке «Помощь»




Report Page