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

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

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

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

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

Введение

Kubernetes (K8s) – система оркестрации контейнеров для автоматизации развертывания, масштабирования и управления приложениями. Данное руководство поможет установить production-ready кластер на CentOS 7 с использованием kubeadm.

Требования

Минимальные требования:

  • 2+ узла с CentOS 7 (минимум 2 ГБ RAM/2 CPU)
  • Доступ к интернету
  • Статические IP-адреса
  • Отключенный SELinux
  • Выключенный swap
  • Совместимые версии Docker (20.10+)

Проверка архитектуры:

1uname -m

Установка

Подготовка

  1. Отключите swap:
swapoff -a
sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
  1. Настройте hostname:
1hostnamectl set-hostname master-node
  1. Добавьте записи в /etc/hosts
  2. Откройте порты в firewall:
1firewall-cmd --permanent --add-port={6443,2379-2380,10250,10251,10252}/tcp
2firewall-cmd --reload

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

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

Настройка

  1. Инициализация кластера:
1kubeadm init --pod-network-cidr=10.244.0.0/16
2mkdir -p $HOME/.kube
3cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
4chown $(id -u):$(id -g) $HOME/.kube/config
  1. Установите сетевой плагин (Flannel):
1kubectl apply -f https://raw.githubusercontent.com/flannel-io/flannel/master/Documentation/kube-flannel.yml
  1. Проверьте статус узлов:
1kubectl get nodes

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

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

Решение:

1systemctl daemon-reload
2systemctl restart kubelet

Ошибка cgroup driver

Решение: Настройте docker и kubelet использовать systemd:

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

Заключение

Вы успешно развернули Kubernetes-кластер на CentOS 7. Для добавления worker-узлов используйте команду kubeadm join, полученную при инициализации. Рекомендуется настроить RBAC и сетевые политики для production-среды.

Команды

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

1kubectl version --short

Просмотр состояния кластера

1kubectl cluster-info

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

Ошибка соединения с API-сервером

Проверьте статус control-plane компонентов: systemctl status kubelet

1journalctl -xeu kubelet

Контейнеры в состоянии ContainerCreating

Проверьте сетевой плагин и DNS-разрешение

1kubectl describe pod <pod-name>