Админим с Буквой
5.52K subscribers
303 photos
8 videos
59 files
1.16K links
Канал о системном администрировании, DevOps и немного Инфобеза.

По всем вопросам обращаться к @bykva. Рекламу не размещаю.
Download Telegram
Получаем информацию о смонтированных rbd на нодах куба

Запускать на ноде куба. Этот скрипт полезен, если у вас дохлый мастер, иначе все это куда проще достается из апишки.

#!/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

Ошибка:

Err:1 http://archive.ubuntu.com/ubuntu xenial InRelease
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?)

На самом деле проблема не о том, о чём написано в ошибке - проблема в записи в директорию /tmp.

#troubleshooting #apt
Jenkins heartbeat error

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
Нападение без объявления войны

я хз че это было, но вы поймете когда вам это понадобится))

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
*бучий OVH

Иногда бывают ситуации когда не грузятся виртуалки. В 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:

# systemctl disable systemd-resolved.service
# systemctl stop systemd-resolved

Добавляем в секцию [main] запись в файл /etc/NetworkManager/NetworkManager.conf

dns=default

Delete 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
puppet don't update user password

при запуске 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
Проблемы при переходе на buster

Сейчас только со стороны desktop. Пока список маленький, по мере выявления проблем буду добавлять

- slack desktop требует пакета libcurl3, но в buster он заменяется на libcurl4. При этом сам слак запускается и работает. В целом проблемы не вижу
- virtualbox-6.0 аналогично требует пакет libcurl3. Под buster vbox еще не собрали. как workaround - можно поставить из bionic.

#troubleshooting #debian10 #buster
питон на маке поломался

после позавчерашнего обновления питона и еще каких-то пакетов (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