Size: a a a

Админим с Буквой

2018 March 01
Админим с Буквой
Вот так, например делают ребята из flant:
https://github.com/flant/kube-controller-manager/blob/master/Dockerfile
источник
2018 March 03
Админим с Буквой
О, 666 участников! Зачем я пишу в этот канал? Во славу сотоны конечно же! Ну или против. Ведь это мы, админы, приструняем демонов.
источник
Админим с Буквой
Переслано от Alex Ф-ф-фэils!🌠︙...
Git по умолчанию ведет историю действий. Если мы случайно сделали что-то не так, то можно сделать git checkout HEAD@{<N>}, где <N> - номер записи рефлога, на которую мы откатываемся.
источник
Админим с Буквой
Переслано от Alex Ф-ф-фэils!🌠︙...
После этого действия репа будет в состоянии "сорванной башни" (__detached HEAD__). Можно создать ветку на текущем положении с помощью git branch <branchname>
источник
2018 March 04
Админим с Буквой
Hype cycle Гартнера и ее российский аналог. Великодушно украдено из презентации Артема Гавриченкова.
источник
Админим с Буквой
Non-interactive ssh-keygen

yes "" | ssh-keygen -N ""


#ssh
источник
2018 March 06
Админим с Буквой
git config

Немного полезного конфига гита для рабочих станций.

[user]
 name = Bykva Bykva
 email = bykva@bykva.bykva
[color]
 diff = auto
 status = auto
 branch = auto
 ui = true
[alias]
 st = status
 ci = commit
 co = checkout
 br = branch
 tree = log --graph --decorate --pretty=oneline --abbrev-commit
 debrelease = "!\
   test -f debian/changelog || exit 1; \
   hash=\"$(md5sum debian/changelog)\"; \
   debchange -r; \
   newhash=\"$(md5sum debian/changelog)\"; \
   [ \"$hash\" != \"$newhash\" ] || exit 1; \
   version=\"$(head -1 debian/changelog |sed -e 's/) .*//' -e 's/.* (//')\"; \
   tagname=\"$(head -1 debian/changelog |sed -e 's/) .*//' -e 's/.* (//' -e 's/~/_/g' -e 's/:/%/')\"; \
   git ci -m \"prepare for release $version\" debian/changelog || exit 1; \
   git tag -s -m \"release $version\" \"$tagname\" || exit 1; \
   debchange -i ''; \
   git ci -m 'bump version for future' debian/changelog"
[core]
 quotepath = false
 pager = less -F -X
[url "git://git.debian.org/d-i/"]
 insteadOf = git+ssh://git.debian.org/git/d-i/
[push]
 default = simple
[pull]
 rebase = true
[gitflow "branch"]
 develop = development


#git
источник
2018 March 07
Админим с Буквой
Минутка полезного софта

Утилита ack (есть в репозитории) - работает по принципу грепа, только с более интересным выводом. Ни в коем случае не призываю избегать grep, эти утилиты очень хорошо дополняют друг друга и можно применять в зависимости от ситуации.

пример: ack whatever

Утилита ncdu (есть в репозитории) - псевдографический проводник с функцией подсчета занимаего места на жестком диске. Удобен для визуальной оценки размера файлов и папок

#utils
источник
Админим с Буквой
Приятные новости от gitlab! Теперь для создания проекта можно просто пушить в несуществующий репозиторий и он создастся.

$ git push --set-upstream ssh://git@gitlab.example.com:12345/group/project.git master
Counting objects: 5, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (4/4), done.
Writing objects: 100% (5/5), 1.12 KiB | 0 bytes/s, done.
Total 5 (delta 0), reused 0 (delta 0)
remote:
remote: The private project group/project was successfully created.
remote:
remote: To configure the remote, run:
remote:   git remote add origin git@gitlab.example.com:group/project.git
remote:
remote: To view the project, visit:
remote:   http://gitlab.example.com/group/project
remote:
To ssh://gitlab.example.com:12345/group/project.git
* [new branch]      master -> master
Branch master set up to track remote branch master from ssh://git@gitlab.example.com:12345/group/project.git.


Подробнее: https://docs.gitlab.com/ee/gitlab-basics/create-project.html#push-to-create-a-new-project

и.. куча других нововведений: https://habrahabr.ru/post/350660/

#gitlab #git
источник
2018 March 08
Админим с Буквой
Поздравляю всех девушек с чудесным праздником! А их у нас здесь аж больше двадцати! Желаю вам  оставаться такими же весёлыми, остроумными и жизнерадостными. Спасибо, что делаете этот мир красивым и добрым. Пусть в вашей жизни будет как можно больше солнечных дней!
С праздником💍🥂🍾
источник
2018 March 12
Админим с Буквой
Моя первая попытка написать баш автокомплит. Небольшая функция для kubectl.

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

https://github.com/bykvaadm/kubectl_autocomplete

#kubernetes #bash_autocomplete
источник
Админим с Буквой
как задать права на configmap в kubernetes

По тем или иным причиним нужно иногда файлам, которые мапятся в контейнер задавать права. Самый простой пример - положить скрипт и сделать его исполняемым. Сделать это можно с помощью директивы  defaultMode: 0744

      volumes:
     - name: wrapper
       configMap:
         name: wrapper
         defaultMode: 0744


#kubernetes
источник
2018 March 13
Админим с Буквой
Минуточка вакансий

В компанию занимающуюся онлайн платежами требуется финансовый аналитик.
Обязанности - работа с базой PostgreSQL и выполнение сверок с партерами.
Требуются навыки работы с SQL.

Полный рабочий день в офисе в Москве.
ЗП от 60к по договоренности.

Из плюшек: белая ЗП, офис в центре Москвы, настольный футбол и дартс, служебный MacBookPro, регулярные фрукты и холодные напитки в холодильнике.

Кому интересно - писать @noob4ik

#work #ads
источник
Админим с Буквой
Кстати, для любителей cyanogenmod (lineage os), пару недель назад они таки зарелизили официальные сборки 15-й версии (Android 8) для нескольких устройств - в основном как обычно это гугловские устройства, samsung и сяоми.

https://www.lineageos.org/Changelog-16/

#read #news
источник
2018 March 14
Админим с Буквой
Используем 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
источник
2018 March 15
Админим с Буквой
Переустанавливаем gitlab с заданием root пароля

export GITLAB_ROOT_PASSWORD="pwd_>=8_chars"
export GITLAB_ROOT_EMAIL="host@example.com"

gitlab-rake gitlab:setup ${GITLAB_ROOT_PASSWORD:+GITLAB_ROOT_PASSWORD=$GITLAB_ROOT_PASSWORD}       ${GITLAB_ROOT_EMAIL:+GITLAB_ROOT_EMAIL=$GITLAB_ROOT_EMAIL}


Это к вопросу, например, какого хрена у меня не логинится в gitlab, когда я поставил helm install gitlab, все же должно работать из коробки! А вот.. Длинна пароля больше 8 символов должна быть, иначе запись этого пользователя в базу даже не попадет.

#gitlab #helm #kubernetes
источник
Админим с Буквой
Let’s Encrypt начал выдавать wildcard сертификаты

https://habrahabr.ru/post/351252

#read #thirdparty #news
источник
Админим с Буквой
bykvaadm
Let’s Encrypt начал выдавать wildcard сертификаты

https://habrahabr.ru/post/351252

#read #thirdparty #news
Пример настройки bind для получения сертификата.

$ORIGIN .
$TTL 604800 ; 1 week
example.com    IN SOA  ns01.example.com. root.example.com. (
       33         ; serial
       604800     ; refresh (1 week)
       86400      ; retry (1 day)
       2419200    ; expire (4 weeks)
       604800     ; minimum (1 week)
       )
     NS  ns01.example.com.
     NS  ns02.example.com.
     A 8.8.4.4
     
$ORIGIN example.com.

$TTL 1    ; 1 second
_acme-challenge   IN TXT  w0TwTVFDhq2fUYbuqFiuigIGIGfqiZURWIAR_OUyNyU
_acme-challenge   IN TXT  Ks3zUh7wepiUf2g8GyIGHUkjbGigikqkGHYx7bLMSIA


#bind #letsencrypt
источник
Админим с Буквой
helm Blah-blah-blah already exists

Возникла ошибка  при установке хелма, что какой-то компонент уже существует. Поскольку как оказалось такая проблема не только у меня была, решил сделать об этом заметку. Действительно, хелм ругается неспроста. В этой ситуации нужно убедиться, что у вас действительно нет дубликатов этого компонента, например уже развернутого в кластере, или, как в мом случае, текстовый редактор сделал backup файла в папке templates с именем <компонент>.yaml.save и хелм его начал спокойно обрабатывать.

#helm #troubleshooting
источник
Админим с Буквой
А еще небольшая радость.. hackbar запилили в quantum (FF 57+). Теперь он доступен из консоли разработчика (имхо не очень удобно)
источник