Установка Kubernetes при помощи Kubespray
Установка кластера kubernetes при помощи kubespray.
Быстро, три мастера.
Update: Новое видео, на ту же тему, но с учётом новых особенностей на начало 21-го года. • k8s mini cluster step ...
Update: вместо flanel рекомендую ставить calico. В последних реализациях flanel были обнаружены глюки, при добавлении новых серверов в кластер.
Видео Флант: • Наш опыт с Kubernetes ...
Про книгу Маркелова: www.kryukov.biz/2019/06/novay...
Пікірлер: 51
Вот прочему нельзя такой гайд сделать в офф документации?)) Спасибо автору.
Спасибо. Храни тебя господь.
@faridakbarov4532
3 жыл бұрын
Артур ты капитальный красавчик))
@arturaliyev9671
2 жыл бұрын
@@faridakbarov4532 да, я знаю :)
Молодец очень толково, было приятно слушать
Очень хорошая подача, прям как я люблю. Спасибо за труд! Отличное видео!
Отлично, спасибо! Лайк, подписка
Спасибо
Мне помогло развертывание используя команды с гита кубспрея, затем установка ансибл 2.10.4 (не понимаю почему в тхт у них прописано 2.7, если потом они хотят условие 2.9
Спасибо за видео! У меня несколько вопросов по установке. Для реальной установки какие ресурсы нужны для master? Какое должно быть соотношение ядер и памяти для node? Можно ли делать установку на ubuntu? Могу ли удалить namespace для для default (на работе загнулся кубернетес, предположительно из за того, что количество подов превысило максимальное допустимое количество на каждой ноде, у нас две нод то есть максимум 220 может быть, а у нас их 267)?
@OldPythonKAA
2 жыл бұрын
По пунктам: 1,2. kzread.info/dash/bejne/qK2X1KyNptzRaZs.html 3. да. 4. В этом нейспейсе есть важный сервис, который система автоматически восстанавливает, если вы его удалите. Он нужен для корректной работы системы. Что будет если удалить немспейс default - не пробовал, не вижу в этом никакого смысла. Последний вопрос, см. ответ на 1,2.
@dmitry_5525
2 жыл бұрын
@@OldPythonKAA Спасибо, Артур, за оперативный ответ. Проблема, в том, что кубернетес используется для тестирования ci/cd из gitlab. Удалить default я хочу да бы избавиться от лишних подов, может после этого система оживет (нужные проды потом заново появятся при запуске job), а потом уже попробовать спокойно установить другой кубернетес кластер.
Приветствую, возникло пару вопросов. Etcd сертификаты обновляются вместе с кластером при kubeadm certs renew all или отдельно нужно обновлять? Можно ли потом обновить версию кластера вручную или через kuberspray можно?
@OldPythonKAA
Жыл бұрын
Зависит от того как ставили.
Артур, а если надо развернуть кластер kubspray -ем в инфраструктуре, где нет доступа в internet, поможет ли мне такой план 1. ставлю в другом месте (онлайн сегмент) кластер требуемой конфигурации kubespray-ем, далее определяю какие пакеты и images он установил на узлы - скачиваю их в архивчик. 2. переношу архивчик и закачиваю (устанавливаю) на оффлайн сегмент на сервера где буду ставить 3. запускаю установку оффлайн - доступа ни к каким репозиториям нет, но kubespray проверяет что пакеты/образы уже есть и отрабатывает нормально(?). Прокатит так? я подобным образом успешно ставил кластер kubeadm-ом (правда одномастерной конфигурации), но хочется HA cluster kubespray-ем поставить
@OldPythonKAA
2 жыл бұрын
Подняли у себя любую хранилку контейнеров. Эскпорт контейнера в файл. Импорт из файла в свою хранилку. Дальше смотрим в сторону: kubespray / inventory / sample / group_vars / all / offline.yml
@pgm2410
2 жыл бұрын
@@OldPythonKAA спасибо, попробую!
интересно было бы узнать, чем обусловлен выбор версии релиза
@OldPythonKAA
4 жыл бұрын
Релиза кубеспрея? Он проверен, у меня он используется в нескольких проектах. Если, например нужен куб 1.18, можно ведь и руками поставить. Просто руками новичку отказоустойчивый кластер ставить сложнее, чем руками. Особенно первый раз. Ну мне так кажется.
@alsh7450
4 жыл бұрын
@@OldPythonKAA спасибо за ответ. Да, релиз именно kuberspray. Интересно почему взят релиз 2.12, а например не последний релиз или мастер ветка. Про то, что он проверен - я понял, интересно вы обновляете релизы только когда в них появляются киллер-фичи или есть ещё критерии?
@OldPythonKAA
4 жыл бұрын
@@alsh7450 "Работает - не трогай. Не сломалось - не чини" как то так :)
Подскажите, что за ПО используется для одновременной работы с виртуальными машинами и cli у Вас?
@OldPythonKAA
2 жыл бұрын
Не понял вопрос. Вы про клиент ssh? Если про него, то mRemoteNG
@grg3658
2 жыл бұрын
@@OldPythonKAA Именно, спасибо! Пользую mobaxterm, не использовали, как оно в сравнении с ним?
@OldPythonKAA
2 жыл бұрын
Не знаю. Не пользовался.
Делаю все по вашему видео, но на Ubuntu 18. До 28:42 минуты все ок, потом же при развертывании уже на машины, возникает ошибка [WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match 'all'. Хотя командой ansible all --list-hosts все хосты видит. В чем может быть проблема подскажите?
@vladivanov8148
3 жыл бұрын
Разобрался - путь в моем случае нужно было писать полностью - /home/...../kubespray/inventory/myclaster/inventory.ini Процесс начинается, но возникает теперь другая ошибка fatal: [node1]: FAILED! => {"changed": false, "msg": "groupadd: Permission denied. groupadd: \ /etc/group; n", "name": "kube-cert"}
@OldPythonKAA
3 жыл бұрын
Добрый день. Вы точно с правами рута это делаете (каким пользователем вы сгенерили ключи для доступа к машинам ssh-keygen и какому пользователю его скопировали)? Попробуйте при запуске плейбука добавить --become --become-user=root
@vladivanov8148
3 жыл бұрын
@@OldPythonKAA Да спс, все заработало)
@user-xz2lp4xt1y
2 жыл бұрын
@@OldPythonKAA Здравствуйте, пытаюсь развернуть кубспрей и выпадает такая ошибка при запуске плейбука: TASK [bootstrap-os : Install dbus for the hostname module] ********************* Saturday 11 September 2021 20:28:14 +0700 (0:00:00.061) 0:00:01.966 **** fatal: [node1]: FAILED! => {"changed": false, "msg": "Could not detect which package manager to use. Try gathering facts or setting the \"use\" option."} fatal: [node2]: FAILED! => {"changed": false, "msg": "Could not detect which package manager to use. Try gathering facts or setting the \"use\" option."} Подскажите пожалуйста в чем может быть проблема/ошибка?
А в инвентарном файле, имена ноды, это точно имя задаваемое ноде а не fqdn? Зачем тогда локальный dns если нигде больше доменные имена не указываются?
@OldPythonKAA
Жыл бұрын
Это древнее видео, я вобще не помню что там конкретно было. Тем более, что сейчас я от кубеспрея отказался.
@randombytes4530
Жыл бұрын
@@OldPythonKAA А почему отказались? Есть что-то поудобнее?
@OldPythonKAA
Жыл бұрын
Смотрите последние видео, буквально пару недель назад выложил на канале. Там все есть.
скажите пожалуйсто как можно спомощью Kubespray добавить еще Windows Nodes, мне нужно иметь 4 нода Линукс и 2 виндовс?
@OldPythonKAA
4 жыл бұрын
С Windows nodes дела не имел, и думаю что это редкостное извращение, сорри.
@mcgizmo
4 жыл бұрын
@@OldPythonKAA вообше то это не извращение, очень странный ответ,апликация-сервис написана на виндовс и линукс, то тут извените выбора нет, я это все сделал ( AWS EKS, EC2, Cloud formation) но мне нужно через kubespray
так просто?))) и еще, я думал будет как docker -sworm, т.е без всех этих служебных контейнеров...
круто, но я на столько лентяй делать ssh-copy-id хочу через vagrant, не пробовали ставить?
@OldPythonKAA
2 жыл бұрын
у мене набор виртуалок один. Дальше снапшоты рулят :)
@OldPythonKAA
2 жыл бұрын
Попробовал vagrant. Не понравилось. Только я не понял про ssh-copy-id. В вагранте тоже скриптик для этого нужен. Кто мешает этот скриптик руками без вагранта запустить? :)
@s78ap
2 жыл бұрын
@@OldPythonKAA нормально, запустил через vagrant, жизнь налаживается. Только почему-то vagrant c centos os работает, у остальных OS в их списке отвал DNS происходить на стадии установки ansible, что-то с NetworkManager. Да ладно, мне только протестировать все равно все будет собираться не у меня на компе.
@OldPythonKAA
2 жыл бұрын
Я AlmaLinux 8.4 в вагранте пользовал. Нормально поставилось. Правда до ансибла не дошел. Мне не понравилось что обязательный nat интерфейс и жестко все на него завязано. Второй интерфейс, смена клиента DNS в /etc/resolv.conf все тупо скриптами. Или я чего то не понимаю в вгранте или надо в торону терраформа смотреть.
@s78ap
2 жыл бұрын
@@OldPythonKAA не нашел у них такую OS в Vagrantfile переменная SUPPORTED_OS, может раньше была
здравствуйте, нужно обязательно на виртуальную машину устанавливать kubespray. без vm не обойтись?
@OldPythonKAA
3 жыл бұрын
Не обязательно. Kubesparay - это ansible playbook. Он будет работать везде, где вы сможете запустить ansible.
@atbillboard733
3 жыл бұрын
@@OldPythonKAA kubespray работает только с python 2.7? 3.8 не подойдет?
@OldPythonKAA
3 жыл бұрын
Подойдет любой питон, который может запустить ansible, заявленный в requirements.txt
добрый день у меня выскакивает ошибка Traceback (most recent call last): File "/usr/local/bin/ansible-playbook", line 40, in from ansible.errors import AnsibleError, AnsibleOptionsError, AnsibleParserError File "/usr/local/lib/python3.10/dist-packages/ansible/errors/__init__.py", line 22, in from collections import Sequence ImportError: cannot import name 'Sequence' from 'collections' (/usr/lib/python3.10/collections/__init__.py) В чем может быть проблема подскажите?
@OldPythonKAA
8 ай бұрын
Добрый день. Я это видео снимал три года назад. Более года назад отказался от использования кубеспрея как такового. Совсем не использую. Вобще. Даже рядом не стою ;) Рекомендую перейти например на kubeadm. Видео об установке кластера при помощи kubeadm есть на канале.