Часто встречающиеся проблемы и пути их устранения#
Общие рекомендации по поиску неисправностей#
Для устранения неполадок при неудачной установке DropApp Plus соберите журналы с bootstrap и master nodes, получите отладочную информацию из программы установки.
Предварительные условия#
Установка OKD не удалась до завершения процесса начальной загрузки. Bootstrap node работает и доступна через SSH.
Процесс ssh-agent активен на node, и предоставлен один и тот же ключ SSH как процессу ssh-agent, так и программе установки.
Имеются полные доменные имена bootstrap и master nodes.
Операция#
Сгенерируйте команды, необходимые для получения журналов установки с nodes bootstrap и control plane.
Перейдите в каталог, содержащий программу установки, и выполните следующую команду:
./dropappplus-install gather bootstrap --dir <installation_directory> # Для installation_directory укажите тот же каталог, который указан при запуске ./dropappplus-install create cluster. В этом каталоге содержатся файлы определений OKD, созданные программой установки. --bootstrap <bootstrap_address> # <bootstrap_address>— это полное доменное имя или IP-адрес bootstrap nodes кластера. --master <master_1_address> # Для каждого уровня управления или master nodes в кластере замените <master_*_address>его полным доменным именем или IP-адресом. --master <master_2_address> --master <master_3_address>Пример вывода:
INFO Pulling debug logs from the bootstrap machine INFO Bootstrap gather logs captured here "<installation_directory>/log-bundle-<timestamp>.tar.gz"
Выключенный operator-lifecycle-manager#
На некоторых кластерах в процессе обновления был выключен operator-lifecycle-manager. Если на кластере были установлены операторы из его каталога, то обновление блокируется, так как не может найти нужный канал для установленных операторов.
Проявление проблемы: oc describe clusterversion содержит сообщение:
Cluster operator operator-lifecycle-manager should not be upgraded between minor versions: ClusterServiceVersions blocking cluster upgrade: openshift-operators/servicemeshoperator.v2.0.6.2 is incompatible with OpenShift minor versions greater than 4.8`
Решение: включите operator-lifecycle-manager
После выполнения действия обновление завершится успешно.
Проблема с kubelet на worker nodes#
На некоторых кластерах в процессе обновления machine-config worker nodes кластера не обновлялись - не стартовал kubelet. Это может быть связано со специфическими настройками SELinux, которые были сделаны в процессе эксплуатации кластера.
Проявление проблемы: в логах kubelet фигурирует ошибка:
Mar 13 08:09:19 tvlds-ter014214 systemd[12278]: kubelet.service: Failed to execute command: Permission denied
Mar 13 08:09:19 tvlds-ter014214 systemd[12278]: kubelet.service: Failed at step EXEC spawning /usr/bin/hyperkube: Permission denied
Mar 13 08:09:19 tvlds-ter014214 systemd[1]: kubelet.service: Main process exited, code=exited, status=203/EXEC
Mar 13 08:09:19 tvlds-ter014214 systemd[1]: kubelet.service: Failed with result 'exit-code'.
Mar 13 08:09:19 tvlds-ter014214 systemd[1]: Failed to start Kubernetes Kubelet.
Решение: в текущей сессии отключите SELinux, и перезапустите kubelet, и снова включите SELinux, на всех worker nodes с выявленной проблемой выполните:
sudo setenforce 0 && sudo systemctl restart kubelet && sudo setenforce 1
После выполнения действия обновление завершится успешно.