Установка Kubernetes при помощи Kubespray

Установка кластера kubernetes при помощи kubespray.
Быстро, три мастера.
Update: Новое видео, на ту же тему, но с учётом новых особенностей на начало 21-го года. • k8s mini cluster step ...
Update: вместо flanel рекомендую ставить calico. В последних реализациях flanel были обнаружены глюки, при добавлении новых серверов в кластер.
Видео Флант: • Наш опыт с Kubernetes ...
Про книгу Маркелова: www.kryukov.biz/2019/06/novay...

Пікірлер: 51

  • @-Nefilime-
    @-Nefilime-3 жыл бұрын

    Вот прочему нельзя такой гайд сделать в офф документации?)) Спасибо автору.

  • @ilyaolegovich388
    @ilyaolegovich3883 жыл бұрын

    Спасибо. Храни тебя господь.

  • @faridakbarov4532

    @faridakbarov4532

    3 жыл бұрын

    Артур ты капитальный красавчик))

  • @arturaliyev9671

    @arturaliyev9671

    2 жыл бұрын

    @@faridakbarov4532 да, я знаю :)

  • @user-zm6mi3wm3b
    @user-zm6mi3wm3b3 жыл бұрын

    Молодец очень толково, было приятно слушать

  • @dmitryartemov831
    @dmitryartemov8313 жыл бұрын

    Очень хорошая подача, прям как я люблю. Спасибо за труд! Отличное видео!

  • @nickvp4271
    @nickvp42712 жыл бұрын

    Отлично, спасибо! Лайк, подписка

  • @sergeydemin2962
    @sergeydemin29623 жыл бұрын

    Спасибо

  • @user-xz2lp4xt1y
    @user-xz2lp4xt1y2 жыл бұрын

    Мне помогло развертывание используя команды с гита кубспрея, затем установка ансибл 2.10.4 (не понимаю почему в тхт у них прописано 2.7, если потом они хотят условие 2.9

  • @dmitry_5525
    @dmitry_55252 жыл бұрын

    Спасибо за видео! У меня несколько вопросов по установке. Для реальной установки какие ресурсы нужны для master? Какое должно быть соотношение ядер и памяти для node? Можно ли делать установку на ubuntu? Могу ли удалить namespace для для default (на работе загнулся кубернетес, предположительно из за того, что количество подов превысило максимальное допустимое количество на каждой ноде, у нас две нод то есть максимум 220 может быть, а у нас их 267)?

  • @OldPythonKAA

    @OldPythonKAA

    2 жыл бұрын

    По пунктам: 1,2. kzread.info/dash/bejne/qK2X1KyNptzRaZs.html 3. да. 4. В этом нейспейсе есть важный сервис, который система автоматически восстанавливает, если вы его удалите. Он нужен для корректной работы системы. Что будет если удалить немспейс default - не пробовал, не вижу в этом никакого смысла. Последний вопрос, см. ответ на 1,2.

  • @dmitry_5525

    @dmitry_5525

    2 жыл бұрын

    @@OldPythonKAA Спасибо, Артур, за оперативный ответ. Проблема, в том, что кубернетес используется для тестирования ci/cd из gitlab. Удалить default я хочу да бы избавиться от лишних подов, может после этого система оживет (нужные проды потом заново появятся при запуске job), а потом уже попробовать спокойно установить другой кубернетес кластер.

  • @talgatamantaev8107
    @talgatamantaev8107 Жыл бұрын

    Приветствую, возникло пару вопросов. Etcd сертификаты обновляются вместе с кластером при kubeadm certs renew all или отдельно нужно обновлять? Можно ли потом обновить версию кластера вручную или через kuberspray можно?

  • @OldPythonKAA

    @OldPythonKAA

    Жыл бұрын

    Зависит от того как ставили.

  • @pgm2410
    @pgm24102 жыл бұрын

    Артур, а если надо развернуть кластер kubspray -ем в инфраструктуре, где нет доступа в internet, поможет ли мне такой план 1. ставлю в другом месте (онлайн сегмент) кластер требуемой конфигурации kubespray-ем, далее определяю какие пакеты и images он установил на узлы - скачиваю их в архивчик. 2. переношу архивчик и закачиваю (устанавливаю) на оффлайн сегмент на сервера где буду ставить 3. запускаю установку оффлайн - доступа ни к каким репозиториям нет, но kubespray проверяет что пакеты/образы уже есть и отрабатывает нормально(?). Прокатит так? я подобным образом успешно ставил кластер kubeadm-ом (правда одномастерной конфигурации), но хочется HA cluster kubespray-ем поставить

  • @OldPythonKAA

    @OldPythonKAA

    2 жыл бұрын

    Подняли у себя любую хранилку контейнеров. Эскпорт контейнера в файл. Импорт из файла в свою хранилку. Дальше смотрим в сторону: kubespray / inventory / sample / group_vars / all / offline.yml

  • @pgm2410

    @pgm2410

    2 жыл бұрын

    @@OldPythonKAA спасибо, попробую!

  • @alsh7450
    @alsh74504 жыл бұрын

    интересно было бы узнать, чем обусловлен выбор версии релиза

  • @OldPythonKAA

    @OldPythonKAA

    4 жыл бұрын

    Релиза кубеспрея? Он проверен, у меня он используется в нескольких проектах. Если, например нужен куб 1.18, можно ведь и руками поставить. Просто руками новичку отказоустойчивый кластер ставить сложнее, чем руками. Особенно первый раз. Ну мне так кажется.

  • @alsh7450

    @alsh7450

    4 жыл бұрын

    @@OldPythonKAA спасибо за ответ. Да, релиз именно kuberspray. Интересно почему взят релиз 2.12, а например не последний релиз или мастер ветка. Про то, что он проверен - я понял, интересно вы обновляете релизы только когда в них появляются киллер-фичи или есть ещё критерии?

  • @OldPythonKAA

    @OldPythonKAA

    4 жыл бұрын

    @@alsh7450 "Работает - не трогай. Не сломалось - не чини" как то так :)

  • @grg3658
    @grg36582 жыл бұрын

    Подскажите, что за ПО используется для одновременной работы с виртуальными машинами и cli у Вас?

  • @OldPythonKAA

    @OldPythonKAA

    2 жыл бұрын

    Не понял вопрос. Вы про клиент ssh? Если про него, то mRemoteNG

  • @grg3658

    @grg3658

    2 жыл бұрын

    @@OldPythonKAA Именно, спасибо! Пользую mobaxterm, не использовали, как оно в сравнении с ним?

  • @OldPythonKAA

    @OldPythonKAA

    2 жыл бұрын

    Не знаю. Не пользовался.

  • @vladivanov8148
    @vladivanov81483 жыл бұрын

    Делаю все по вашему видео, но на 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

    @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

    @OldPythonKAA

    3 жыл бұрын

    Добрый день. Вы точно с правами рута это делаете (каким пользователем вы сгенерили ключи для доступа к машинам ssh-keygen и какому пользователю его скопировали)? Попробуйте при запуске плейбука добавить --become --become-user=root

  • @vladivanov8148

    @vladivanov8148

    3 жыл бұрын

    @@OldPythonKAA Да спс, все заработало)

  • @user-xz2lp4xt1y

    @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."} Подскажите пожалуйста в чем может быть проблема/ошибка?

  • @randombytes4530
    @randombytes4530 Жыл бұрын

    А в инвентарном файле, имена ноды, это точно имя задаваемое ноде а не fqdn? Зачем тогда локальный dns если нигде больше доменные имена не указываются?

  • @OldPythonKAA

    @OldPythonKAA

    Жыл бұрын

    Это древнее видео, я вобще не помню что там конкретно было. Тем более, что сейчас я от кубеспрея отказался.

  • @randombytes4530

    @randombytes4530

    Жыл бұрын

    @@OldPythonKAA А почему отказались? Есть что-то поудобнее?

  • @OldPythonKAA

    @OldPythonKAA

    Жыл бұрын

    Смотрите последние видео, буквально пару недель назад выложил на канале. Там все есть.

  • @mcgizmo
    @mcgizmo4 жыл бұрын

    скажите пожалуйсто как можно спомощью Kubespray добавить еще Windows Nodes, мне нужно иметь 4 нода Линукс и 2 виндовс?

  • @OldPythonKAA

    @OldPythonKAA

    4 жыл бұрын

    С Windows nodes дела не имел, и думаю что это редкостное извращение, сорри.

  • @mcgizmo

    @mcgizmo

    4 жыл бұрын

    @@OldPythonKAA вообше то это не извращение, очень странный ответ,апликация-сервис написана на виндовс и линукс, то тут извените выбора нет, я это все сделал ( AWS EKS, EC2, Cloud formation) но мне нужно через kubespray

  • @user-lw1ux3vp6k
    @user-lw1ux3vp6k11 ай бұрын

    так просто?))) и еще, я думал будет как docker -sworm, т.е без всех этих служебных контейнеров...

  • @s78ap
    @s78ap2 жыл бұрын

    круто, но я на столько лентяй делать ssh-copy-id хочу через vagrant, не пробовали ставить?

  • @OldPythonKAA

    @OldPythonKAA

    2 жыл бұрын

    у мене набор виртуалок один. Дальше снапшоты рулят :)

  • @OldPythonKAA

    @OldPythonKAA

    2 жыл бұрын

    Попробовал vagrant. Не понравилось. Только я не понял про ssh-copy-id. В вагранте тоже скриптик для этого нужен. Кто мешает этот скриптик руками без вагранта запустить? :)

  • @s78ap

    @s78ap

    2 жыл бұрын

    @@OldPythonKAA нормально, запустил через vagrant, жизнь налаживается. Только почему-то vagrant c centos os работает, у остальных OS в их списке отвал DNS происходить на стадии установки ansible, что-то с NetworkManager. Да ладно, мне только протестировать все равно все будет собираться не у меня на компе.

  • @OldPythonKAA

    @OldPythonKAA

    2 жыл бұрын

    Я AlmaLinux 8.4 в вагранте пользовал. Нормально поставилось. Правда до ансибла не дошел. Мне не понравилось что обязательный nat интерфейс и жестко все на него завязано. Второй интерфейс, смена клиента DNS в /etc/resolv.conf все тупо скриптами. Или я чего то не понимаю в вгранте или надо в торону терраформа смотреть.

  • @s78ap

    @s78ap

    2 жыл бұрын

    @@OldPythonKAA не нашел у них такую OS в Vagrantfile переменная SUPPORTED_OS, может раньше была

  • @juliabrandt3010
    @juliabrandt30103 жыл бұрын

    здравствуйте, нужно обязательно на виртуальную машину устанавливать kubespray. без vm не обойтись?

  • @OldPythonKAA

    @OldPythonKAA

    3 жыл бұрын

    Не обязательно. Kubesparay - это ansible playbook. Он будет работать везде, где вы сможете запустить ansible.

  • @atbillboard733

    @atbillboard733

    3 жыл бұрын

    @@OldPythonKAA kubespray работает только с python 2.7? 3.8 не подойдет?

  • @OldPythonKAA

    @OldPythonKAA

    3 жыл бұрын

    Подойдет любой питон, который может запустить ansible, заявленный в requirements.txt

  • @alex256771
    @alex2567718 ай бұрын

    добрый день у меня выскакивает ошибка 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

    @OldPythonKAA

    8 ай бұрын

    Добрый день. Я это видео снимал три года назад. Более года назад отказался от использования кубеспрея как такового. Совсем не использую. Вобще. Даже рядом не стою ;) Рекомендую перейти например на kubeadm. Видео об установке кластера при помощи kubeadm есть на канале.

Келесі