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

  Рет қаралды 12,424

Артур Крюков

Артур Крюков

4 жыл бұрын

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

Пікірлер: 51
@-Nefilime-
@-Nefilime- 3 жыл бұрын
Вот прочему нельзя такой гайд сделать в офф документации?)) Спасибо автору.
@ilyaolegovich388
@ilyaolegovich388 3 жыл бұрын
Спасибо. Храни тебя господь.
@faridakbarov4532
@faridakbarov4532 3 жыл бұрын
Артур ты капитальный красавчик))
@arturaliyev9671
@arturaliyev9671 2 жыл бұрын
@@faridakbarov4532 да, я знаю :)
@dmitryartemov831
@dmitryartemov831 3 жыл бұрын
Очень хорошая подача, прям как я люблю. Спасибо за труд! Отличное видео!
@user-zm6mi3wm3b
@user-zm6mi3wm3b 3 жыл бұрын
Молодец очень толково, было приятно слушать
@nickvp4271
@nickvp4271 2 жыл бұрын
Отлично, спасибо! Лайк, подписка
@sergeydemin2962
@sergeydemin2962 3 жыл бұрын
Спасибо
@dmitry_5525
@dmitry_5525 2 жыл бұрын
Спасибо за видео! У меня несколько вопросов по установке. Для реальной установки какие ресурсы нужны для master? Какое должно быть соотношение ядер и памяти для node? Можно ли делать установку на ubuntu? Могу ли удалить namespace для для default (на работе загнулся кубернетес, предположительно из за того, что количество подов превысило максимальное допустимое количество на каждой ноде, у нас две нод то есть максимум 220 может быть, а у нас их 267)?
@OldPythonKAA
@OldPythonKAA 2 жыл бұрын
По пунктам: 1,2. kzbin.info/www/bejne/rKrGo32Kq96eb5o 3. да. 4. В этом нейспейсе есть важный сервис, который система автоматически восстанавливает, если вы его удалите. Он нужен для корректной работы системы. Что будет если удалить немспейс default - не пробовал, не вижу в этом никакого смысла. Последний вопрос, см. ответ на 1,2.
@dmitry_5525
@dmitry_5525 2 жыл бұрын
@@OldPythonKAA Спасибо, Артур, за оперативный ответ. Проблема, в том, что кубернетес используется для тестирования ci/cd из gitlab. Удалить default я хочу да бы избавиться от лишних подов, может после этого система оживет (нужные проды потом заново появятся при запуске job), а потом уже попробовать спокойно установить другой кубернетес кластер.
@user-xz2lp4xt1y
@user-xz2lp4xt1y 2 жыл бұрын
Мне помогло развертывание используя команды с гита кубспрея, затем установка ансибл 2.10.4 (не понимаю почему в тхт у них прописано 2.7, если потом они хотят условие 2.9
@talgatamantaev8107
@talgatamantaev8107 Жыл бұрын
Приветствую, возникло пару вопросов. Etcd сертификаты обновляются вместе с кластером при kubeadm certs renew all или отдельно нужно обновлять? Можно ли потом обновить версию кластера вручную или через kuberspray можно?
@OldPythonKAA
@OldPythonKAA Жыл бұрын
Зависит от того как ставили.
@pgm2410
@pgm2410 2 жыл бұрын
Артур, а если надо развернуть кластер 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 спасибо, попробую!
@grg3658
@grg3658 2 жыл бұрын
Подскажите, что за ПО используется для одновременной работы с виртуальными машинами и cli у Вас?
@OldPythonKAA
@OldPythonKAA 2 жыл бұрын
Не понял вопрос. Вы про клиент ssh? Если про него, то mRemoteNG
@grg3658
@grg3658 2 жыл бұрын
@@OldPythonKAA Именно, спасибо! Пользую mobaxterm, не использовали, как оно в сравнении с ним?
@OldPythonKAA
@OldPythonKAA 2 жыл бұрын
Не знаю. Не пользовался.
@vladivanov8148
@vladivanov8148 3 жыл бұрын
Делаю все по вашему видео, но на 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."} Подскажите пожалуйста в чем может быть проблема/ошибка?
@mcgizmo
@mcgizmo 4 жыл бұрын
скажите пожалуйсто как можно спомощью Kubespray добавить еще Windows Nodes, мне нужно иметь 4 нода Линукс и 2 виндовс?
@OldPythonKAA
@OldPythonKAA 4 жыл бұрын
С Windows nodes дела не имел, и думаю что это редкостное извращение, сорри.
@mcgizmo
@mcgizmo 4 жыл бұрын
@@OldPythonKAA вообше то это не извращение, очень странный ответ,апликация-сервис написана на виндовс и линукс, то тут извените выбора нет, я это все сделал ( AWS EKS, EC2, Cloud formation) но мне нужно через kubespray
@alsh7450
@alsh7450 4 жыл бұрын
интересно было бы узнать, чем обусловлен выбор версии релиза
@OldPythonKAA
@OldPythonKAA 4 жыл бұрын
Релиза кубеспрея? Он проверен, у меня он используется в нескольких проектах. Если, например нужен куб 1.18, можно ведь и руками поставить. Просто руками новичку отказоустойчивый кластер ставить сложнее, чем руками. Особенно первый раз. Ну мне так кажется.
@alsh7450
@alsh7450 4 жыл бұрын
@@OldPythonKAA спасибо за ответ. Да, релиз именно kuberspray. Интересно почему взят релиз 2.12, а например не последний релиз или мастер ветка. Про то, что он проверен - я понял, интересно вы обновляете релизы только когда в них появляются киллер-фичи или есть ещё критерии?
@OldPythonKAA
@OldPythonKAA 4 жыл бұрын
@@alsh7450 "Работает - не трогай. Не сломалось - не чини" как то так :)
@randombytes4530
@randombytes4530 Жыл бұрын
А в инвентарном файле, имена ноды, это точно имя задаваемое ноде а не fqdn? Зачем тогда локальный dns если нигде больше доменные имена не указываются?
@OldPythonKAA
@OldPythonKAA Жыл бұрын
Это древнее видео, я вобще не помню что там конкретно было. Тем более, что сейчас я от кубеспрея отказался.
@randombytes4530
@randombytes4530 Жыл бұрын
@@OldPythonKAA А почему отказались? Есть что-то поудобнее?
@OldPythonKAA
@OldPythonKAA Жыл бұрын
Смотрите последние видео, буквально пару недель назад выложил на канале. Там все есть.
@user-lw1ux3vp6k
@user-lw1ux3vp6k 11 ай бұрын
так просто?))) и еще, я думал будет как docker -sworm, т.е без всех этих служебных контейнеров...
@juliabrandt3010
@juliabrandt3010 3 жыл бұрын
здравствуйте, нужно обязательно на виртуальную машину устанавливать 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
@s78ap
@s78ap 2 жыл бұрын
круто, но я на столько лентяй делать 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, может раньше была
@alex256771
@alex256771 8 ай бұрын
добрый день у меня выскакивает ошибка 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 есть на канале.
k8s mini cluster step by step [02] Установка кластера
52:43
Артур Крюков
Рет қаралды 8 М.
你们会选择哪一辆呢#short #angel #clown
00:20
Super Beauty team
Рет қаралды 42 МЛН
THE POLICE TAKES ME! feat @PANDAGIRLOFFICIAL #shorts
00:31
PANDA BOI
Рет қаралды 24 МЛН
Can You Draw A PERFECTLY Dotted Line?
00:55
Stokes Twins
Рет қаралды 105 МЛН
He sees meat everywhere 😄🥩
00:11
AngLova
Рет қаралды 11 МЛН
Rancher [07] - Установка по всякому.
41:49
Артур Крюков
Рет қаралды 2,3 М.
longhorn
53:19
Артур Крюков
Рет қаралды 3,8 М.
Управление Kubernetes при помощи Kubespray // курс «Infrastructure as a code in Ansible»
1:58:32
Kubernetes, rancher [1]
44:25
Артур Крюков
Рет қаралды 10 М.
Устанавливаем Kubernetes при помощи Kubeadm
1:13:19
Девопс на троечку
Рет қаралды 1,9 М.
kubeadm [01]
29:54
Артур Крюков
Рет қаралды 5 М.
Kubernetes offline installation by kubespray
41:35
Артур Крюков
Рет қаралды 3,4 М.
你们会选择哪一辆呢#short #angel #clown
00:20
Super Beauty team
Рет қаралды 42 МЛН