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

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

КОМЕНТАРІ • 51

  • @ilyaolegovich388
    @ilyaolegovich388 4 роки тому +7

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

    • @faridakbarov4532
      @faridakbarov4532 3 роки тому

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

    • @arturaliyev9671
      @arturaliyev9671 2 роки тому

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

  • @-Nefilime-
    @-Nefilime- 4 роки тому +3

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

  • @user-zm6mi3wm3b
    @user-zm6mi3wm3b 4 роки тому +2

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

  • @dmitryartemov831
    @dmitryartemov831 3 роки тому

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

  • @sergeydemin2962
    @sergeydemin2962 4 роки тому +1

    Спасибо

  • @pgm2410
    @pgm2410 2 роки тому +3

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

    • @OldPythonKAA
      @OldPythonKAA  2 роки тому +2

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

    • @pgm2410
      @pgm2410 2 роки тому

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

  • @nickvp4271
    @nickvp4271 2 роки тому

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

  • @ВладимирБондарчук-у3ш

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

  • @dmitry_5525
    @dmitry_5525 3 роки тому

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

    • @OldPythonKAA
      @OldPythonKAA  3 роки тому +1

      По пунктам:
      1,2. ua-cam.com/video/vycrJTvyk98/v-deo.html
      3. да.
      4. В этом нейспейсе есть важный сервис, который система автоматически восстанавливает, если вы его удалите. Он нужен для корректной работы системы. Что будет если удалить немспейс default - не пробовал, не вижу в этом никакого смысла.
      Последний вопрос, см. ответ на 1,2.

    • @dmitry_5525
      @dmitry_5525 3 роки тому

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

  • @alsh7450
    @alsh7450 4 роки тому

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

    • @OldPythonKAA
      @OldPythonKAA  4 роки тому +1

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

    • @alsh7450
      @alsh7450 4 роки тому

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

    • @OldPythonKAA
      @OldPythonKAA  4 роки тому +3

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

  • @talgatamantaev8107
    @talgatamantaev8107 Рік тому

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

    • @OldPythonKAA
      @OldPythonKAA  Рік тому

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

  • @randombytes4530
    @randombytes4530 Рік тому

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

    • @OldPythonKAA
      @OldPythonKAA  Рік тому +1

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

    • @randombytes4530
      @randombytes4530 Рік тому

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

    • @OldPythonKAA
      @OldPythonKAA  Рік тому +1

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

  • @vladivanov8148
    @vladivanov8148 4 роки тому

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

      Разобрался - путь в моем случае нужно было писать полностью - /home/...../kubespray/inventory/myclaster/inventory.ini Процесс начинается, но возникает теперь другая ошибка fatal: [node1]: FAILED! => {"changed": false, "msg": "groupadd: Permission denied.
      groupadd: \ /etc/group; n", "name": "kube-cert"}

    • @OldPythonKAA
      @OldPythonKAA  4 роки тому +1

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

    • @vladivanov8148
      @vladivanov8148 4 роки тому

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

    • @ВладимирБондарчук-у3ш
      @ВладимирБондарчук-у3ш 3 роки тому

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

  • @mcgizmo
    @mcgizmo 4 роки тому

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

    • @OldPythonKAA
      @OldPythonKAA  4 роки тому +1

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

    • @mcgizmo
      @mcgizmo 4 роки тому

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

  • @grg3658
    @grg3658 2 роки тому

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

    • @OldPythonKAA
      @OldPythonKAA  2 роки тому

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

    • @grg3658
      @grg3658 2 роки тому

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

    • @OldPythonKAA
      @OldPythonKAA  2 роки тому

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

  • @АлексейСтерх-ь2в

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

  • @juliabrandt3010
    @juliabrandt3010 3 роки тому

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

    • @OldPythonKAA
      @OldPythonKAA  3 роки тому +1

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

    • @atbillboard733
      @atbillboard733 3 роки тому

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

    • @OldPythonKAA
      @OldPythonKAA  3 роки тому +1

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

  • @s78ap
    @s78ap 3 роки тому

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

    • @OldPythonKAA
      @OldPythonKAA  3 роки тому

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

    • @OldPythonKAA
      @OldPythonKAA  3 роки тому

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

    • @s78ap
      @s78ap 3 роки тому

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

    • @OldPythonKAA
      @OldPythonKAA  3 роки тому

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

    • @s78ap
      @s78ap 3 роки тому

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

  • @alex256771
    @alex256771 Рік тому

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

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