kubespray README

The project's README from github.com/kubernetes-sigs/kubespray. As one markdown file: README.md.

Deploy a Production Ready Kubernetes Cluster

Kubernetes Logo

If you have questions, check the documentation at kubespray.io and join us on the kubernetes slack, channel #kubespray. You can get your invite here

Quick Start

Below are several ways to use Kubespray to deploy a Kubernetes cluster.

Docker

Ensure you have installed Docker then

docker run --rm -it --mount type=bind,source="$(pwd)"/inventory/sample,dst=/inventory \
  --mount type=bind,source="${HOME}"/.ssh/id_rsa,dst=/root/.ssh/id_rsa \
  quay.io/kubespray/kubespray:v2.31.0 bash
# Inside the container you may now run the kubespray playbooks:
ansible-playbook -i /inventory/inventory.ini --private-key /root/.ssh/id_rsa cluster.yml

Ansible

Usage

See Getting started

Collection

See here if you wish to use this repository as an Ansible collection

Vagrant

For Vagrant we need to install Python dependencies for provisioning tasks. Check that Python and pip are installed:

python -V && pip -V

If this returns the version of the software, you're good to go. If not, download and install Python from here https://www.python.org/downloads/source/

Install Ansible according to Ansible installation guide then run the following step:

vagrant up

Documents

Supported Linux Distributions

Note:

Supported Components

Container Runtime Notes

Requirements

Hardware: These limits are safeguarded by Kubespray. Actual requirements for your workload can differ. For a sizing guide go to the Building Large Clusters guide.

Network Plugins

You can choose among ten network plugins. (default: calico, except Vagrant uses flannel)

The network plugin to use is defined by the variable kube_network_plugin. There is also an option to leverage built-in cloud provider networking instead. See also Network checker.

Ingress Plugins

Community docs and resources

Tools and projects on top of Kubespray

CI Tests

Build graphs

CI/end-to-end tests sponsored by: CNCF, Equinix Metal, OVHcloud, ELASTX.

See the test matrix for details.

kubespray (kubernetes-sigs/kubespray)

Searching Database…

18.8K ·GitHub
Что это такое?Kubespray — это набор Ansible-плейбуков, которые разворачивают готовый к продакшену отказоустойчивый (highly available) кластер Kubernetes на облачных виртуальных машинах или на собственных bare-metal серверах.
Так это инструмент, который я устанавливаю, или что-то другое?Это не приложение, которое устанавливается, — это репозиторий с Ansible-плейбуками и инвентарём, который вы запускаете на своих серверах. Репозиторий также можно подключить как Ansible-коллекцию.
Как мне запустить свой первый кластер?Запустите плейбуки из Docker-контейнера, с машины, где установлен Ansible, или поднимите локальный тестовый кластер с помощью Vagrant. Руководство Getting started пошагово описывает первое развёртывание.
Что нужно машине, с которой идёт развёртывание?На управляющей машине нужны Ansible v2.14+, Jinja 2.11+ и python-netaddr. Целевые серверы должны работать под поддерживаемым Linux-дистрибутивом и, если вы не настроите офлайн-режим, иметь доступ в интернет для скачивания образов.
Есть ли подводные камни, которые могут сломать развёртывание?Kubespray не управляет файрволами — свой лучше отключить, чтобы избежать проблем при развёртывании. Запуск без root требует флага --become, системы на Upstart/SysV не поддерживаются, а ядра ниже 4.19 требуют внимания.
Где могут работать эти кластеры?Кластеры можно разворачивать в AWS, GCE, Azure, OpenStack, vSphere, Equinix Metal, Oracle Cloud (экспериментально) или на обычном bare metal.
Какие версии и компоненты он разворачивает?Kubernetes 1.36.4 с etcd 3.6.14, плюс выбор среды выполнения: containerd, Docker или CRI-O (экспериментально). В комплекте идут CoreDNS, cert-manager, Argo CD, Helm и MetalLB, а также CSI-плагины для хранилищ.
Сколько ресурсов нужно нодам?Минимумы скромные: 2 ГБ оперативной памяти для нод control-plane и 1 ГБ для рабочих нод. Реальный размер зависит от вашей нагрузки — есть отдельное руководство по большим развёртываниям.
Могу ли я развернуть кластер без доступа в интернет?Да, есть отдельное руководство по установке в изолированной сети (Air-Gap). По умолчанию целевые серверы должны иметь доступ в интернет для скачивания образов, поэтому офлайн-режим требует дополнительной настройки.
Какие Linux-дистрибутивы могут быть нодами кластера?Ubuntu 22.04-26.04, Debian Bookworm/Trixie, RHEL и CentOS Stream 9-10, Fedora 39-42, Flatcar, Fedora CoreOS, openSUSE, Oracle, Alma и Rocky Linux, а ещё несколько, помеченных как экспериментальные.
Size
29.3 MB
Stars
18.8K
Age
11y
Commits · 90 Days