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

По всем вопросам обращаться к @bykva. Рекламу не размещаю.
Download Telegram
смотрим stdout журнала systemd в режиме tailf

journalctl -u whatever.service -b --no-pager -f


appending -e will start the log at the end removing the need to scroll, but without printing the entire log beforehand.
appending --no-pager will print full log, so you wont have to scroll
appending -f will follow (print) updates to the log
appending -b will print logs for current boot

#logs #systemd #troubleshooting
Используем systemd для запуска docker-контейнеров

[Unit]
Description=My Awesome Service
Requires=docker.service
After=docker.service

[Service]
Restart=always
RestartSec=3
ExecStartPre=/bin/sh -c "/usr/bin/docker rm -f my-awesome-service 2> /dev/null || /bin/true"
ExecStart=/usr/bin/docker run --rm -a STDIN -a STDOUT -a STDERR --env-file=/etc/default/my-awesome-service -p 0.0.0.0:3301:3301 -v /etc/project/service:/etc/wallarm -v /var/lib/blacklist:/var/lib/blacklist -v /var/log/project/service:/var/log/wallarm --name my-awesome-service wallarm-dkr.jfrog.io/my-awesome-service:v0.17.0.0
ExecStop=/usr/bin/docker stop my-awesome-service

[Install]
WantedBy=multi-user.target


#systemd #docker
systemd minus in EnvironmentFile directive

EnvironmentFile=
The argument passed should be an absolute filename or wildcard expression, optionally prefixed with "-", which indicates that if the file does not exist, it will not be read and no error or warning message is logged.

#systemd
Небольшой сниппет о настройке bridge-соединения через systemd

Этого поста бы и не было, коли не один нюанс - из-за своей забывчивости я потратил на настройку какое-то лютое количество времени.

Когда мы настраиваем bridge, то перевешиваем на него адрес основного интерфейса. И также мы назначем этому интерфейсу новый мак-адрес для фиксации его в своей сети. И вот теперь, когда мы перевесили на bridge адрес, пакеты в интырнеты начинают слаться с маком не физического устройства, а с маком bridge. Казалось бы "ну и что". А то, что я запамятовал о том, что dc, в частности в hetzner маки и ip парные, выдаются или собираются dc, и ты не можешь в этой паре что-то заменить. Ну и собственно нужно для этого просто было свапнуть местами маки у интерфейсов и всё. Для настройки на физическом устройстве используется файл eth0.link. Также для настройки gateway использован GatewayOnLink - который позволяет выставлять шлюз за пределами сети интерфейса (ака выплюни пакет в этот интерфейс, там разберутся)

# cat br0.netdev
[NetDev]
Name=br0
Kind=bridge
MACAddress=10:c3:7b:db:7d:f5
[Bridge]
STP=False

# cat br0.network
[Match]
Name=br0
[Network]
Address=13.4.15.200/32
NTP=ru.pool.ntp.org
DNS=185.12.64.2
DNS=185.12.64.1
[Route]
Destination=0.0.0.0/0
Gateway=13.4.15.193
GatewayOnLink=True
[Address]
Address=10.10.10.1

# cat eth0.link
[Match]
Name=eth0
[Link]
MACAddress=ce:34:85:b0:b0:11

# cat eth0.network
[Match]
Name=eth0
[Network]
Bridge=br0


#hetzner #systemd #network