Комментарии 4
Спасибо, статья написана обзорно, но достаточно глубоко. Мне, как специалисту по сетям, но мало знакомому с k8s, читалось легко и теперь я понимаю ощутимо больше. Надеюсь, руки дойдут развернуть свой пет кластер и наконец попробовать всё своими руками
Здорово, что статья была полезной, успехов с разворачиванием кластера)
Если нужно посмотреть в 1 приближении, так сказать, то можно использовать minikube или kind, и весь процесс выглядит максимально просто:
Ставим докер, https://docs.docker.com/engine/install/
Качаем kind:
curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.27.0/kind-linux-amd64Создаём однонодовый кластер:
./kind create cluster
А для установки полноценного он-прем кластера проще всего использовать Kubespray, буквально на днях создавал ещё один кластер.
В целом вот и все необходимые действия, если ничего не забыл:
# на всех будущих нодах создаём нужные сетевые интерфейсы
# делаем, чтобы можно было подключиться к каждой из этих нод с другой ноды, откуда будем запускать ansible
# выключаем везде swap
# дальше все действия выполняем на ноде, откуда запускаем ansible
git clone https://github.com/kubernetes-sigs/kubespray.git
# ставим ansible: https://kubespray.io/#/docs/ansible/ansible?id=installing-ansible
cp -rf inventory/sample inventory/mycluster
# прописываем в inventory/mycluster/inventory.ini названия будущих нод и их IP
# файлы inventory/mycluster/group_vars/* можно не менять, тогда будут дефолтные CNI, CRI, и т.д.
# запускаем плейбук
ansible-playbook -i inventory/mycluster/inventory.ini -u root --private-key /root/.ssh/id_rsa cluster.yml
Kubespray в современных реалиях выглядит как ужасный монстр с кучей геморроя. Есть куча более приятных и простых инструментов: kubeadm, rke, k3s, rke2, talos. Они все прекрасно работают как на хостах, так и на виртуальных машинах.
Я тоже люблю Ansible и много с ним работаю, но kubespray стал бы в продакшене использовать в последнюю очередь.
P.S.: Статья и правда хорошая как платцдарм для взлёта начинающих спецов по куберу.
Статья хорошая, но в ней есть одна небольшая неточность. На базовом уроне сеть можно сделать вот даже совсем без cni и это будет самый быстрый но при этом наименее гибкий вариант
В остальном - отлично для старта в мир cni
Основные концепции сетевой архитектуры Kubernetes, а также CNI, Service Mesh и т.д