Получаем информацию о смонтированных rbd на нодах куба
Запускать на ноде куба. Этот скрипт полезен, если у вас дохлый мастер, иначе все это куда проще достается из апишки.
Результат:
т.е. отсюда можно узнать какому конкретно контейнеру какой конкретно image соответствует. Это полезно когда у вас динамический контроллер и сдохший мастер - чтобы забрать данные с запущенных подов.
#ceph #kubernetes #troubleshooting
Запускать на ноде куба. Этот скрипт полезен, если у вас дохлый мастер, иначе все это куда проще достается из апишки.
#!/bin/bash
IFS=$'\n'
for i in $(docker ps); do
ID=$(echo $i | awk '{print $1}');
for j in $(docker inspect $ID | grep "volumes/kubernetes.io~rbd"|grep -v "Source"); do
NAME=$(docker inspect $ID | grep "Hostname\"")
external_mpath=$(echo $j | awk -F\: '{print $1}' | grep -o '/var/lib.*')
internal_mpath=$(echo $j | awk -F\: '{print $2}')
rbd=$(mount | grep $external_mpath | awk '{print $1}')
dnumber=$(echo $rbd | egrep -o "[0-9]+")
image=$(cat /sys/bus/rbd/devices/${dnumber}/name)
echo ""
echo "name: $NAME"
echo "rbd: $rbd"
echo "mount path: $internal_mpath"
echo "image: $image"
done
done
Результат:
name: "Hostname": "mongodb-database-865cfb8d6f-lgfnl",
rbd: /dev/rbd8
mount path: /data/db",
image: kubernetes-dynamic-pvc-af3f3636-635d-11e8-9801-0a580af4013f
т.е. отсюда можно узнать какому конкретно контейнеру какой конкретно image соответствует. Это полезно когда у вас динамический контроллер и сдохший мастер - чтобы забрать данные с запущенных подов.
#ceph #kubernetes #troubleshooting
apt update error
Ошибка:
#troubleshooting #apt
Ошибка:
Err:1 http://archive.ubuntu.com/ubuntu xenial InReleaseНа самом деле проблема не о том, о чём написано в ошибке - проблема в записи в директорию /tmp.
Couldn't create tempfiles for splitting up /var/lib/apt/lists/partial/archive.ubuntu.com_ubuntu_dists_xenial_InRelease
Could not execute 'apt-key' to verify signature (is gnupg installed?)
#troubleshooting #apt
Jenkins heartbeat error
err:
В моем случае jenkins находится в k8s, катал его с помощью helm. В качестве решения в values.yaml:
#jenkins #kubernetes #helm #troubleshooting
err:
wrapper script does not seem to be touching the log file in xxxxx
(JENKINS-48300: if on a laggy filesystem, consider -Dorg.jenkinsci.plugins.durabletask.BourneShellScript.HEARTBEAT_CHECK_INTERVAL=300)
В моем случае jenkins находится в k8s, катал его с помощью helm. В качестве решения в values.yaml:
Master:
JavaOpts: "-Dorg.jenkinsci.plugins.durabletask.BourneShellScript.HEARTBEAT_CHECK_INTERVAL=3600"
#jenkins #kubernetes #helm #troubleshooting
вчера ночью боролся с set_fact в ansible. присваиваю переменной значение, а при обращении к переменной она undefined. Проблема крылась в пробелах слева и справа от знака равно. Убрал пробелы и все стало чётенько...
#ansible #troubleshooting #yaml
#ansible #troubleshooting #yaml
Нападение без объявления войны
я хз че это было, но вы поймете когда вам это понадобится))
https://github.com/moby/moby/blob/master/contrib/init/systemd/docker.socket
(Ну а так, ошибка такая: docker.service: Failed to schedule restart job: Unit docker.socket not found.)
#docker #troubleshooting
я хз че это было, но вы поймете когда вам это понадобится))
https://github.com/moby/moby/blob/master/contrib/init/systemd/docker.socket
(Ну а так, ошибка такая: docker.service: Failed to schedule restart job: Unit docker.socket not found.)
#docker #troubleshooting
GitHub
moby/contrib/init/systemd/docker.socket at master · moby/moby
The Moby Project - a collaborative project for the container ecosystem to assemble container-based systems - moby/moby
*бучий OVH
Иногда бывают ситуации когда не грузятся виртуалки. В VNC можно увидеть экран на котором есть фраза о начале загрузки с диска и на этом все виснет.
В качестве одного из решений - такое происходит когда у вас побилась ФС. тогда можно перезагрузиться в resque, и натравить утилиту fsck на ваш диск. в 50% случаев вам это поможет и после перезагрузки нода снова будет в строю. В других 50% вы получите ошибку ERROR в статусе openstack и тут можете даже не писать в ТП, они уже ничего не сделают - можно идти и смело переустанавливать ноду.
З.Ы. не сделают - потому что они жопорукие.
#ovh #troubleshooting
Иногда бывают ситуации когда не грузятся виртуалки. В VNC можно увидеть экран на котором есть фраза о начале загрузки с диска и на этом все виснет.
В качестве одного из решений - такое происходит когда у вас побилась ФС. тогда можно перезагрузиться в resque, и натравить утилиту fsck на ваш диск. в 50% случаев вам это поможет и после перезагрузки нода снова будет в строю. В других 50% вы получите ошибку ERROR в статусе openstack и тут можете даже не писать в ТП, они уже ничего не сделают - можно идти и смело переустанавливать ноду.
З.Ы. не сделают - потому что они жопорукие.
#ovh #troubleshooting
Ubuntu 18 и локальный dns
Столкнулись с очень веселым поведением сегодня на бубунточке. Эта красивая и без сомнения удобная ОС использует локальный резолвер dns из коробки. т.е. вместо стандартных записей dns серверов полученных по dhcp в /etc/resolv.conf будет помещена запись типа 127.0.53.1. Локально на этом адресе будет слушать systemd-resolver. Казалось бы ну ок, к чему это может привести..?
А вот к чему. Когда вы запускаете локально docker, он монтирует /etc/resolv.conf с хоста внутрь контейнера. Угадайте, работает ли внутри контейнера после этого dns резолв, когда обращаться надо в 127.0.53.1? Правильно, нихуа!
В качестве решения - отключаем напрочь эту очень удобную фичу:
Disable and stop the systemd-resolved service:
перезапускаем службу нетворк-манагера
#networking #dieubuntudie #troubleshooting
Столкнулись с очень веселым поведением сегодня на бубунточке. Эта красивая и без сомнения удобная ОС использует локальный резолвер dns из коробки. т.е. вместо стандартных записей dns серверов полученных по dhcp в /etc/resolv.conf будет помещена запись типа 127.0.53.1. Локально на этом адресе будет слушать systemd-resolver. Казалось бы ну ок, к чему это может привести..?
А вот к чему. Когда вы запускаете локально docker, он монтирует /etc/resolv.conf с хоста внутрь контейнера. Угадайте, работает ли внутри контейнера после этого dns резолв, когда обращаться надо в 127.0.53.1? Правильно, нихуа!
В качестве решения - отключаем напрочь эту очень удобную фичу:
Disable and stop the systemd-resolved service:
# systemctl disable systemd-resolved.serviceДобавляем в секцию [main] запись в файл /etc/NetworkManager/NetworkManager.conf
# systemctl stop systemd-resolved
dns=defaultDelete the symlink /etc/resolv.conf
rm /etc/resolv.conf
перезапускаем службу нетворк-манагера
service network-manager restartИсточник: https://askubuntu.com/questions/907246/how-to-disable-systemd-resolved-in-ubuntu
#networking #dieubuntudie #troubleshooting
Ask Ubuntu
How to disable systemd-resolved in Ubuntu?
How can I disable systemd-resolved in Ubuntu 17.04?
Disabling it with systemctl disable didn't work, the service seems to be restarted (by Networkmanager?)
Disabling it with systemctl disable didn't work, the service seems to be restarted (by Networkmanager?)
puppet don't update user password
при запуске puppet agent с debug увидел такую проблему:
проблема, как пишут на форумах, действительно с пакетом ruby-shadow, но есть нюанс. Если у вас стоит устаревшая версия puppet, а сервер обновлен до stretch, то у вас проявится проблема с этим ruby-гемом. ruby стоит старый, а пакет приносит gem более свежий и такая комбинация как раз приводит к ошибке. В качестве решения - просто ставить более старую версию пакета.
#puppet #troubleshooting
при запуске puppet agent с debug увидел такую проблему:
Provider useradd does not support features manages_passwords; not managing attribute password
проблема, как пишут на форумах, действительно с пакетом ruby-shadow, но есть нюанс. Если у вас стоит устаревшая версия puppet, а сервер обновлен до stretch, то у вас проявится проблема с этим ruby-гемом. ruby стоит старый, а пакет приносит gem более свежий и такая комбинация как раз приводит к ошибке. В качестве решения - просто ставить более старую версию пакета.
echo "deb http://ftp.debian.org/debian jessie main contrib non-free" >> /etc/apt/sources.list.d/debian.list
apt update
apt install -y --force-yes ruby-shadow=2.3.4-2
puppet agent -t
#puppet #troubleshooting
Forwarded from Пятничный деплой
Шпаргалка по траблшутингу сети https://medium.com/@devopslearning/100-days-of-devops-day-62-useful-linux-command-for-network-troubleshooting-920430a2f75f #network #troubleshooting
Medium
100 Days of DevOps — Day 62-Useful Linux Command for Network Troubleshooting
Welcome to Day 62 of 100 Days of DevOps, Focus for today is useful Linux Command for Network Troubleshooting
Проблемы при переходе на buster
Сейчас только со стороны desktop. Пока список маленький, по мере выявления проблем буду добавлять
- slack desktop требует пакета libcurl3, но в buster он заменяется на libcurl4. При этом сам слак запускается и работает. В целом проблемы не вижу
- virtualbox-6.0 аналогично требует пакет libcurl3. Под buster vbox еще не собрали. как workaround - можно поставить из bionic.
#troubleshooting #debian10 #buster
Сейчас только со стороны desktop. Пока список маленький, по мере выявления проблем буду добавлять
- slack desktop требует пакета libcurl3, но в buster он заменяется на libcurl4. При этом сам слак запускается и работает. В целом проблемы не вижу
- virtualbox-6.0 аналогично требует пакет libcurl3. Под buster vbox еще не собрали. как workaround - можно поставить из bionic.
#troubleshooting #debian10 #buster
питон на маке поломался
после позавчерашнего обновления питона и еще каких-то пакетов (brew upgrade) столкнулся с ошибкой в ansible (питон скрипты просто падали):
решение нашел тут: https://stackoverflow.com/questions/58272830/python-crashing-on-macos-10-15-beta-19a582a-with-usr-lib-libcrypto-dylib
#troubleshooting #macos #python
после позавчерашнего обновления питона и еще каких-то пакетов (brew upgrade) столкнулся с ошибкой в ansible (питон скрипты просто падали):
Invalid dylib load. Clients should not load the unversioned libcrypto dylib as it does not have a stable ABI.
решение нашел тут: https://stackoverflow.com/questions/58272830/python-crashing-on-macos-10-15-beta-19a582a-with-usr-lib-libcrypto-dylib
brew install openssl
cd /usr/local/lib
sudo ln -s /usr/local/opt/openssl/lib/libssl.dylib libssl.dylib
sudo ln -s /usr/local/opt/openssl/lib/libcrypto.dylib libcrypto.dylib
#troubleshooting #macos #python