Устранение проблем при установке или обновлении системы

В данном разделе приведены возможные проблемы при установке или обновлении системы и способы их решения.

Установка Kubernetes с помощью Kubespray: несовместимые версии пакетов

Проявление: во время работы скрипта установки Kubernetes с помощью Kubespray возникают ошибки несовместимости системных пакетов и тех, что поставляются вместе с установщиком, например:

cannot install both python3-3.8.19-4.el7.x86_64 from deps-offline and python3-3.8.20-4.el7.x86_64 from @System

Причина: несовместимость версий пакетов, установленных в операционной системе узла кластера, с пакетами, необходимыми для работы установщика.

Решение:

  1. На каждом из узлов кластера удалите конфликтующие пакеты, выполнив следующую команду для каждого из них:

    sudo dnf remove <package_name>

    Здесь:

    • <package_name> — имя пакета, установленного в системе (@System). В примере выше — python3-3.8.20-4.el7.x86_64.

    В зависимости от операционной системы на узле кластера может использоваться другой пакетный менеджер вместо dnf, например, rpm.
  2. Повторно запустите скрипт установки Kubernetes на машине, с которой запускали его ранее.

Longhorn: ошибка конфигурации

Проявление: при установке или обновлении системы возникает ошибка Unable to attach or mount volumes: unmounted volumes=[data], unattached volumes=[kube-api-access scripts data config tz]: timed out waiting for the condition. Установлен провайдер хранилища Longhorn.

Причина: некорректные настройки Longhorn или на узлах кластера не запущена служба iscsid.

Решение:

  1. Проверьте настройки Longhorn. Для этого выполните следующие действия:

    1. Осуществите проброс портов. Для этого выполните на хосте с сетевым доступом к master-узлу кластера следующую команду:

      kubectl -n longhorn-system port-forward service/longhorn-frontend <local_port>:80

      Здесь:

      • <local_port> — порт на хосте, по которому будет осуществляться доступ к Longhorn.

    2. В браузере откройте URL localhost:<local_port>, где <local_port> — порт с предыдущего шага. Отобразится панель управления Longhorn.

    3. Чтобы просмотреть и отредактировать конфигурацию узлов (реплик) Longhorn, перейдите в раздел Node.

    4. Если количество узлов Longhorn больше, чем количество worker-узлов кластера, удалите лишние узлы. Для этого нажмите на кнопку Remove Node в выпадающем меню в столбце Operation для каждого из лишних узлов.

    5. Для каждого узла Longhorn проверьте, не превышает ли объем выделенного ему пространства размер диска узла кластера:

      1. В выпадающем меню в столбце Operation нажмите на кнопку Edit node and disks.

      2. Если в поле Storage Reserved выделено больше пространства, чем размер диска узла кластера, уменьшите размер пространства и нажмите на кнопку Save.

        Рекомендуется выделять под Longhorn 30% диска узла кластера.
  2. Если исправление конфигурации Longhorn не решило проблему, проверьте, запущена ли служба iscsid на всех узлах кластера:

    1. На каждом узле кластера выполните команду:

      systemctl status iscsid
    2. Если статус службы отличается от active (running), запустите ее:

      systemctl start iscsid

Ошибка cannot assign requested address при установке helm-чартов

Проявление: установка helm-чартов завершается с ошибкой, содержащей сообщение cannot assign requested address, например:

Error: create: failed to create: Internal error occurred: Get "https://[::1]:6443/api/v1/namespaces/local-path-provisioner": dial tcp [::1]:6443: connect: cannot assign requested address

Причина: при развертывании кластера Kubernetes на одном или нескольких узлах не было отключено использование IPv6 или в кэше Kubernetes сохранились некорректные настройки.

Решение: убедитесь, что использование IPv6 отключено на всех узлах кластера, перезапустите узлы кластера и установщик системы. Для этого:

  1. На каждом узле кластера выполните следующие действия:

    1. Откройте файл /etc/sysctl.d/99-disable-ipv6.conf.

    2. Проверьте, добавлены ли в файл следующие строки:

      net.ipv6.conf.all.disable_ipv6 = 1
      net.ipv6.conf.default.disable_ipv6 = 1
      net.ipv6.conf.lo.disable_ipv6 = 1
    3. Если строки отсутствуют:

      1. Добавьте строки в файл и сохраните его.

      2. Примените изменения с помощью следующей команды:

        sudo sysctl --system
    4. Перезагрузите узел кластера.

  2. Перезапустите установщик системы.

MetalLB: ошибка запуска в окружении Альт Сервер

Проявление: отсутствует доступ к веб-интерфейсу системы. На узлах кластера установлена ОС Альт Сервер или Альт СП Сервер. Под metallb-controller в пространстве имен metallb-system не запущен.

Причина: ошибка конфигурации MetalLB.

Решение: внесите правку в конфигурацию MetalLB, выполнив следующую команду на master-узле кластера:

ubectl apply -f - <<EOF
apiVersion: metallb.io/v1beta1
kind: IPAddressPool
metadata:
  name: evo-pool
  namespace: metallb-system
spec:
  addresses:
  - <system_ip>/32
  autoAssign: true
  avoidBuggyIPs: false
---
apiVersion: metallb.io/v1beta1
kind: L2Advertisement
metadata:
  name: evo-nlb
  namespace: metallb-system
EOF

Здесь:

Была ли полезна эта страница?

Обратная связь