Главная > ОС > Linux > Centos > 8 > Установка и настройка Kubernetes на linux centos 8

Установка и настройка Kubernetes на linux centos 8

Обновлено: 15.04.2025Руководство

Установка и настройка Kubernetes на linux centos 8

Подробное руководство по установке, настройке и оптимизации Kubernetes для linux centos 8

Введение

Kubernetes (k8s) - популярная платформа для оркестрации контейнеров. В этом руководстве мы установим production-ready кластер Kubernetes на CentOS 8 с использованием Docker в качестве container runtime.

Требования

Перед началом убедитесь, что:

  • Минимум 2 ГБ RAM и 2 CPU
  • Стабильное интернет-соединение
  • root-доступ или права sudo
  • Отключен SELinux или настроен в permissive mode
  • Все узлы в одной сети
  • Уникальные hostnames на всех узлах

Установка

Подготовка

1# Отключить swap
2sudo swapoff -a
3sudo sed -i '/ swap / s/^/#/' /etc/fstab
4
5# Настройка сети
6cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf
7br_netfilter
8EOF
9
10cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
11net.bridge.bridge-nf-call-ip6tables = 1
12net.bridge.bridge-nf-call-iptables = 1
13EOF
14sudo sysctl --system
15
16# Установить firewalld
17sudo dnf install -y firewalld
18sudo systemctl enable --now firewalld

Процесс установки

1# Установка Docker
2sudo dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
3sudo dnf install -y docker-ce docker-ce-cli containerd.io
4sudo systemctl enable --now docker
5
6# Добавить репозиторий Kubernetes
7cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo
8[kubernetes]
9name=Kubernetes
10baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
11enabled=1
12gpgcheck=1
13repo_gpgcheck=1
14gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
15EOF
16
17# Установить компоненты k8s
18sudo dnf install -y kubelet kubeadm kubectl --disableexcludes=kubernetes
19sudo systemctl enable --now kubelet

Настройка

1# Инициализация control-plane
2sudo kubeadm init --pod-network-cidr=10.244.0.0/16
3
4# Настройка пользователя
5mkdir -p $HOME/.kube
6sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
7sudo chown $(id -u):$(id -g) $HOME/.kube/config
8
9# Установка сетевого плагина (Calico)
10kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
11
12# Проверка статуса
13kubectl get nodes
14kubectl get pods --all-namespaces

Типичные ошибки и их решения

Ошибка: kubelet не запускается

Решение: Проверьте журналы: journalctl -xeu kubelet

Ошибка связи между узлами

Решение: Откройте порты в firewalld:

1sudo firewall-cmd --permanent --add-port={6443,2379-2380,10250,10251,10252}/tcp
2sudo firewall-cmd --reload

Заключение

Вы успешно установили Kubernetes кластер на CentOS 8. Для добавления worker-узлов используйте команду kubeadm join из вывода инициализации control-plane. Регулярно обновляйте компоненты и следите за журналами системы.

Команды

Обновление системы

1sudo dnf update -y

Проверка версии kubeadm

1kubeadm version

Сброс конфигурации kubeadm

sudo kubeadm reset -f

Решение проблем

Ошибка cgroup driver

Совместите драйверы Docker и kubelet:

1sudo mkdir /etc/docker
2cat <<EOF | sudo tee /etc/docker/daemon.json
3{
4  "exec-opts": ["native.cgroupdriver=systemd"]
5}
6EOF
7sudo systemctl restart docker
systemctl restart docker

Сеть не работает после установки

Переустановите сетевой плагин и проверьте CIDR

1kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml