вторник, 16 марта 2021 г.

werf+Jenkins

Настраиваем Continuous Integration для Jenkins и Bitbucket с werf

werf

 Есть такая надстройка над helm - werf

Утилита не сложная, по набору документации быстро изучается (русский язык там есть, и проработан неплохо).

Но очень важный момент - на данный момент stable - версия 1.1, а дока пишется под пока ещё beta 1.2. И есть существенные отличия в синтаксисе, поэтому на 1.1 по доке 1.2 будут нюансы. Есть и по 1.1 (сверху переключатель), но там нет руководств по быстрой настройке таких вещей как nodejs (2), ruby, django...

А так, есть куча видео на ютубе и куча статей на хабре, зачем нужна эта утилита.

суббота, 13 марта 2021 г.

Быстрое введение в Clickhouse

 Есть такая бд от яндекса, и неплохое описание на хабре и офсайте.

Это такая колоночная бд, заточенная под аналитику. Поэтому нужно понимать нюансы, прежде всего там нет транзакций, очень ограниченные джойны, операции изменения и удаления предполагают работу с большим количеством строк. Но при этом легко масштабируется и для своих задач очень быстра.

Также нюанс, который редко описывают в доках. Там нет штатной бэкапилки, работа вида "скопировать и потом вернуть на место файлы бд".

Второй нюанс - внутри оно обмазано ZooKeeper-ом, так что его надо уметь ставить, обслуживать и чинить.

Ну и SQL вроде типовой, а вроде и не очень, есть нюансы.

И небольшая обучалка

четверг, 4 марта 2021 г.

k8s - livenessProbe vs readinessProbe

 https://stackoverflow.com/questions/55423405/k8s-livenessprobe-vs-readinessprobe

Liveness probes в Kubernetes могут быть опасны

Настройка Liveness, Readiness и Startup проб

Ubuntu 20.04 и сканер отпечатков

 Fingerprint GUI is no longer maintained and is not compatible with Ubuntu 20.04 and newer. There is a built-in fingerprint login feature in 20.04 under Settings->Users->Authentication & Login.

https://askubuntu.com/questions/1231357/fingerprint-gui-not-installing-in-ubuntu-20-04

Некоторые нюансы с mysql

20 советов по оптимальному использованию MySQL (в том числе про ORDER BY RAND() - а как это лучше заменить, есть несколько решений)

 почему * это плохо

пятница, 12 февраля 2021 г.

k3s

По сути, установка k3s сводится к запуску команды

curl -sfL https://get.k3s.io | sh -s

После этого всё поставится, поднимутся мастер и воркер.

вторник, 2 февраля 2021 г.

Yandex.cloud + Packer

 https://cloud.yandex.ru/docs/solutions/infrastructure-management/packer-quickstart

А вообще интересная дока, можно ещё много интересного почитать, в том числе по другим утилитам (сборка через jenkins, gitlab итд)

понедельник, 7 декабря 2020 г.

AWS enable MFA for all

 Есть штатная дока про включение и виды MFA

https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa.html

Но - там ни слова про включение MFA как требование для всех. Впрочем, легко гуглится заметка их блога

https://aws.amazon.com/ru/blogs/security/how-to-delegate-management-of-multi-factor-authentication-to-aws-iam-users/

Включить эту информацию, хотя бы ссылкой, они как всегда не осилили.

четверг, 3 декабря 2020 г.

Amazon cloud, Auto Scale groups, автоматическое обновление

Если машина - часть ASG и min-max-desired настроены (1-2-1 например, важно что max=min+1, desired=min) то оно само пересоздаст инстансы. Если нужно именно этот же инстанс обновлять, без его пересоздания - надо в сторону ansible смотреть.

Также, есть секция, которая запускается при каждом старте, что-то типа bootcmd, надо доки уточнить. И есть cloud_final_modules 

https://aws.amazon.com/ru/premiumsupport/knowledge-center/execute-user-data-ec2/

вот тут про bootcmd есть

https://stackoverflow.com/questions/6475374/how-do-i-make-cloud-init-startup-scripts-run-every-time-my-ec2-instance-boots

В плане, в эти блоки можно поставить ansible. Потому что userdata работает только при создании инстанса.

вторник, 24 ноября 2020 г.

возможные улучшения /tmp

 Если /tmp является частью раздела /, это может быть проблемой. В том числе - можно поймать майнера, как через redis, docker, так и php

https://www.sourceclear.com/vulnerability-database/security/remote-code-execution-rce/php/sid-4487

https://github.com/docker-library/redis/issues/217


В общем, читаем https://stackoverflow.com/questions/60151640/kdevtmpfsi-using-the-entire-cpu


И непосредственно по модификациям

echo 'tmpfs /tmp tmpfs rw,nosuid,nodev,relatime,size=816800k,mode=777,uid=0,gid=0 0 0' >> /etc/fstab

# rename or clean /tmp, create empty, then 

mount /tmp

chmod go-rwx /var/tmp

chmod 1777 /tmp


Может быть актуально и для centos, и для debian

воскресенье, 8 ноября 2020 г.

WSL и нормальные права на файлы

 Хоть винда это не совсем в этот блог, но там есть WSL, в котором работает линух. И там - если посмотреть в /mnt то будут виндовые диски, с правами 777 на всё. Благо, есть решение - чуть покопав, узнаём что там drvfs, и можно перемонтировать нужные диски так:

sudo umont /mnt/d

sudo mount -t drvfs D: /mnt/d -o metadata,uid=1000,gid=1000,umask=22,fmask=111

это даёт 755 на папки, 644 на файлы, возможность менять атрибуты (опция metadata), и юзер - под которым мы входим (можно завести ещё юзеров и выставить нужного)

взято тут

https://devblogs.microsoft.com/commandline/chmod-chown-wsl-improvements/

Можно отдельные диски настраивать через fstab, правда пока не очень понятно как.

Также, тут

https://devblogs.microsoft.com/commandline/automatically-configuring-wsl/ (читать оба, про options - первый линк)

читать про otions, чтобы применить опции при старте (сразу для всех дисков).

Минимальный конфиг /etc/wsl.conf:

[automount]
options = "metadata"

Чуть посложнее

[automount]
 enabled = true
 root = /mnt/
 options = "metadata,umask=22,fmask=11"
 mountFsTab = false