Чтобы установить Kubernetes в Ubuntu, существует несколько способов. Вот несколько часто используемых:
Метод 1: использование kubeadm (рекомендуется)
- Обновить систему:
sudo apt-get update sudo apt-get upgrade - Установить Docker:
sudo apt-get install docker.io - Установите kubeadm, kubelet и kubectl:
sudo apt-get install kubeadm kubelet kubectl - Отключить подкачку памяти:
sudo swapoff -a - Инициализируйте Kubernetes с помощью kubeadm:
sudo kubeadm init - Настройте файл kubeconfig:
mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config - Применить сетевой плагин (например, Flannel):
sudo kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml - Разрешить главному узлу планировать модули:
kubectl taint nodes --all node-role.kubernetes.io/master-Теперь ваш кластер Kubernetes должен быть запущен и работать.
Метод 2: использование MicroK8
- Обновите систему:
sudo apt-get update sudo apt-get upgrade - Установить MicroK8s:
sudo snap install microk8s --classic - Добавьте пользователя в группу microk8s:
sudo usermod -aG microk8s your_username sudo chown -f -R your_username ~/.kube - Включите необходимые надстройки (например, DNS, хранилище, панель управления):
microk8s enable dns storage dashboard - Начните использовать MicroK8:
microk8s kubectl get nodes
Метод 3. Использование kubespray (для кластеров с несколькими узлами)
- Установить Python и зависимости:
sudo apt-get update sudo apt-get install -y python3-pip sudo pip3 install --upgrade pip sudo pip3 install ansible - Клонировать репозиторий kubespray:
git clone https://github.com/kubernetes-sigs/kubespray.git cd kubespray - Установите необходимые библиотеки Python:
sudo pip3 install -r requirements.txt - Скопируйте шаблон инвентаря:
cp -rfp inventory/sample inventory/mycluster - Обновите файл инвентаризации, указав сведения о своем кластере:
declare -a IPS=(10.10.10.1 10.10.10.2 10.10.10.3) CONFIG_FILE=inventory/mycluster/hosts.yaml python3 contrib/inventory_builder/inventory.py ${IPS[@]} - Развертывание кластера:
ansible-playbook -i inventory/mycluster/hosts.yaml cluster.yml