Size: a a a

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

2019 September 03
Админим с Буквой
Новости IT, вторник, 03.09.2019

 «Rust — будущее системного программирования, С — новый Ассемблер» — выступление одного из ведущих инженеров Intel
https://u.to/1eE7Fg

Представлен полностью рабочий процессор на транзисторах- из углеродных нанотрубок  
https://u.to/e_I7Fg

В оборудовании Cisco обнаружена критическая уязвимость на 10 из 10 баллов по шкале CVSS  
https://u.to/P_M7Fg

Выпуск BlackArch 2019.09.01, дистрибутива для тестирования безопасности  
https://u.to/xuQ7Fg

Доступен Dqlite 1.0, распределённый вариант SQLite от компании Canonical  
https://u.to/QOU7Fg

#news
источник
2019 September 04
Админим с Буквой
Новости IT, среда, 04.08.2019

Huawei выпускает открытый компилятор Ark для платформы HarmonyOS  
https://u.to/U8M9Fg

До 20 Тбайт: Western Digital скоро начнёт поставки передовых жёстких дисков  
https://u.to/LcQ9Fg

Вышел Android 10  
https://u.to/WsY9Fg

Три уязвимости в wifi-драйвере marvell, входящем в состав ядра Linux  
https://u.to/Qsc9Fg

Mozilla не станет переносить все ограничения API WebExtensions из нового манифеста Chrome  
https://u.to/38c9Fg

#news
источник
Админим с Буквой
Vsphere persistent volume provisioning in k8s

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

Ну, в кратце новости, я недавно сменил работу и несколько недель привыкал к новому стеку - применял привычные мне инфраструктурные решения на кластер vmware. Самое интересное в этой истории - это то как я настраивал pv через нативный cloud provider. Все шаги целиком я не буду описывать, потому как есть несколько полезных статей где это уже сделано:
тыц: https://blog.mimacom.com/ocp-persistent-storage/
и тыц: https://cloud-provider-vsphere.sigs.k8s.io/tutorials/kubernetes-on-vsphere-with-kubeadm.html

после того как вы все настроите по статье, нужно будет сделать еще несколько моментов:

1) поддержка disk.UUID для виртуальных машин с vmware:

terraform:
resource "vsphere_virtual_machine" "vm" {
 enable_disk_uuid = "true"
...

или govc:
govc vm.change -json -vm.ipath="/path/to/VM" -e="disk.enableUUID=1"

Операция потребует перезагрузки после применения. Если этого не сделать, то диск будет присоединяться к виртуалке, но куб не сможет дальше примонтировать его к контейнеру.

2) если вы делали по статье выше, то нужна будет небольшая доработка, выполните пункт из документации:
https://vmware.github.io/vsphere-storage-for-kubernetes/documentation/existing.html#on-the-kubernetes-workers

Что говоришь мальчик? почему бы сразу по ней не сделать? потому что во-первых она мне не в первую очередь попалась на глаза, во-вторых там идет какой-то ручник на мастере, вместо того чтобы сразу проинициализоровать, во-вторых и сам способ изменения systemd мне нрвится меньше чем правка /etc/default, поэтому в моем случае вместо того чтобы править systemd я добавил строчку KUBELET_EXTRA_ARGS="--cloud-provider=vsphere" в файл /etc/default/kubelet. Это логичнее и проще в автоматизации

3) выставляем корректные поля provider ID:
https://vmware.github.io/vsphere-storage-for-kubernetes/documentation/existing.html#update-all-node-providerid-fields

и далее по статье можно шикарным способом прибить нужные контейнеры (контроллер, апи, перезапустить кублет). Если кластер не жалко проще всего сделать ребут или systemctl restart docker kubelet

4) Проверяем что все работает: https://vmware.github.io/vsphere-storage-for-kubernetes/documentation/persistent-vols-claims.html
Здесь я привел пример со статикой, ибо с динамикой у меня с наскока сделать не получилось. Да, если у вас в организации права на кластер выдают гранулировано, то нужно попросить создать на некотором datastore папку и выдать на нее права Low level operations. Я видел статью где в миллион и одну картинку описано как настраивать все это дело (абсолютно не читабельно, поэтому пропустил, но сохранил в загашничек потому что очень информативно и вдруг пригодится). Так вот в ней на 100500 скриншотах описаны какие права надо выдать. Может вам в этой ситуации пригодится, мне повезло решить с нашими it-шниками вопрос и так.

5) если вы используете terraform

выставить при создании виртуальной машины такую директиву:
  lifecycle {
   ignore_changes = [
     disk,]
 }

это на самом деле полуспасение. Оно решает задачу того что терраформ рвется поотсодениять все наши подключаемые тома (ведь для него это изменение инфраструктуры, которое не описано), с другой стороны игнорируя все изменения в дисках мы лишаемся возможности изменять их через terraform. Пока годного решения как и рыбку съесть и терраформом не подавиться я не нашел (но я мало искал).

#terraform #vsphere #kubernetes
источник
Админим с Буквой
terraform version manager

https://github.com/tfutils/tfenv
источник
2019 September 05
Админим с Буквой
Новости IT, четверг, 02.09.2019

Начались продажи неприлично длинного и сверхдешевого смартфона Xiaomi
https://u.to/QLw-Fg

Linux Mint 19.3 получит поддержку дисплеев высокого разрешения  
https://u.to/Xr0-Fg

USB4 готов к использованию: опубликованы итоговые спецификации  
https://u.to/W78-Fg

Уязвимостей в iOS стало так много, что они стали дешевле «дыр» в Android  
https://u.to/6b8-Fg

Необдуманное исправление привело к неполному устранению уязвимости Spectre в ядре Linux  
https://u.to/ecA-Fg

#news
источник
Админим с Буквой
Бесплатный онлайн практикум DevOps by REBRAIN: Docker

Регистрация
- http://bit.ly/2wqnxRs
Количество мест строго ограничено!

Практикум по освоению DevOps

Время проведения:
10 Сентября (Вторник) в 19:00 по МСК

Что будет на практикуме?

🔹Зачем нужен Docker? - Обзор самых актуальных проблем - Как Docker их решает
🔹Обзор внутреннего устройства Docker - Контейнерная виртуализация - Auths - Docker registry
🔹Собираем и запускаем свой первый Docker контейнер
🔹Обзор систем оркестрации для Docker

Кто ведет?

Василий Озеров - основатель агентства Fevlake (fevlake.com) и действующий Devops-инженер (опыт в Devops более 5 лет). Регулярно выступает на RootConf, DevOpsConf Russia, HighLoad.

Открытые еженедельные DevOps практикумы - https://bit.ly/2CGmm3C
Присоединяйтесь!

#реклама
источник
Админим с Буквой
vmware Guest customization on Debian

из коробки не работает. Буду краток чтобы не вылить поток говен на вмваре.

Проблема: некорректный парсинг интерфейсов скриптом customization.pm, расположенном на вцентре.
Обсуждение: https://github.com/vmware/open-vm-tools/issues/130

Адекватное решение: исправление парсящего скрипта на вцентре. Примеры можно увидеть в обсуждении. Но некоторые пункты все равно придется выполнить, иначе скрипт не отработает (см 2.х)

Кривое решение1:
1.1 перевести дебиан на нетплан
1.2 заменить os_release на убунту 18.04+
После чего скрипты парсинга будут думать что ось - убунта и применять на него настройку нетплана. Тут есть еще несколько нюансов, но чтобы не повторяться, я их опишу только один раз чуть ниже.
Версия вцентра: 6.5 u2+

Кривое решение 2:
2.1 Поставить пакет net-tools лохматых годов. Именно из-за того что поменялся вывод ifconfig(sic!) поломался и парсинг.
https://launchpad.net/ubuntu/xenial/amd64/net-tools/1.60-26ubuntu1
2.2 Правим юнит файл open-vm-tools
https://kb.vmware.com/articleview?docid=56409
2.3 Создаем симлинк на dhcp
https://kb.vmware.com/s/article/2051469
2.4 Ставим гостевой ОС - ubuntu64

#vmware #debian #terraform
источник
Админим с Буквой
#webinar

Алоха!
Через 20 минут проведу водянистый вебинар про безопасность облаков, подход в тестировании, новые сложности для владельцев сервисов  и немного про сложности для пентесетров.
Ничего пушечного не обещаю, но буду рад всех видеть)

https://cloud.croc.ru/blog/pochemu-krok-oblachnye-servisy/webinar_05092019/?fbclid=IwAR388DT8xoIm-oIGwKZhXUZ3Zy-yyKCfp0iaXWbb6RMt7ygFkVS6gwP57Q8#webinar
источник
2019 September 06
Админим с Буквой
Новости IT, пятница, 06.09.2019

Samsung выпустит смартфон со встроенным криптовалютным кошельком  
https://u.to/Ho9BFg

«Ростелеком» тестирует систему оплаты с распознаванием лиц
https://u.to/_ZVBFg

В России начали разрабатывать нормативную базу для технологии eSIM  
https://u.to/r5hBFg

Релиз дистрибутива Tails 3.16 и браузера Tor Browser 8.5.5  
https://u.to/UZpBFg

Релиз языка программирования Go 1.13  
https://u.to/MZtBFg

#news
источник
Админим с Буквой
Практики по ревью кода

https://google.github.io/eng-practices/review/reviewer/
источник
2019 September 08
Админим с Буквой
Новости IT, воскресенье, 08.09.2019

Google не может решить проблему с обновлениями Android. Никто не может  
https://u.to/dlJFFg

 Фото дня: взгляд космических телескопов на галактику Боде
https://u.to/xFNFFg

В продаже появился ZeroPi одноплатный компьютер за $13  
https://u.to/jl5FFg

Уязвимость в драйвере v4l2, затрагивающая платформу Android
https://u.to/O19FFg

Новые версии Debian 9.10 и 10.1  
https://u.to/r19FFg

#news
источник
2019 September 09
Админим с Буквой
Новости IT, понедельник, 09.09.2019

Сбой в работе «Википедии» произошёл из-за атаки хакеров  
https://u.to/7y9HFg

Microsoft научила Windows 10 звонить со смартфона  
https://u.to/-TBHFg

 Выпуск ZeroNet 0.7, платформы для создания децентрализованных сайтов
https://u.to/wDlHFg

Выпуск интерактивного межсетевого экрана TinyWall 2.0  
https://u.to/hj9HFg

Для своих дискретных видеокарт Intel изменит архитектуру GPU
https://u.to/nUBHFg

#news
источник
Админим с Буквой
Агрегированная информация о MITM-атаках, инструментарии и методах защиты аккуратно структуркроиванная в cheatsheet.

https://github.com/Sab0tag3d/MITM-cheatsheet
источник
Админим с Буквой
DevOps команда ищет работу
Мы команда devops инженеров. Предлагаем услуги по проектированию и поддержке самых разных проектов.

Есть множество наработок в области администрирования кластеров и devops сопровождения проектов. Все опробовано в реальных условиях под нагрузкой до 1 500 000 посетителей в сутки и 30Gbps. Проектируем отказоустойчивые схемы.  Прорабатываем узкие места приложений в тесной связке с разработчиками. Настраиваем детальный мониторинг, оптимизацируем расходы, создаем документацию. Мы клиент-ориентированы, с гибкими схемами работы, готовы подстроиться под ваши бизнес-процессы с максимальной для вас эффективностью и результатом. Возможны разные варианты сотрудничества, в том числе с подписанием NDA и по договору.

Основное о команде:
- 24х7. Есть дежурная схема, при подписании SLA можем обеспечить круглосуточную поддержку.
- Опыт дебага и погружения код php, java, разбор core файлов apache, php-fpm, java machine.
- Ведем техническую документацию, по необходимости состовляем подробную для заказчика.
- Умеем работать с облачными сервисами AWS, Azure, Hetzner, Google.
- Строим кластера на базе Nomad, kubernetes, terraform.
- Умеем работать с голым железом.
- Переводим клиентов с монолита на микросервисную архитекутуру с автотестами и пайплайнами.
- Выстраиваем деплои с нулевым даунтаймом.
- Создание архитектуры полного цикла разработки. dev -> stage -> prod.

Готовы влиться в работающий проект или спроектировать инфраструктуру с нуля.
Подробнее о нас, нашем опыте и клиентах https://www.casp.ru/
https://www.casp.ru/
Вопросы пишите в телеграм: @perec007 или звоните +79031196815

#реклама
текст предоставлен рекламодателем
источник
2019 September 10
Админим с Буквой
Новости IT, вторник , 10.09.2019

Telegram выложил в открытый доступ тестовую версию проекта за $1,7 млрд  
https://u.to/6nhHFg

«Лаборатория Касперского» вышла на рынок киберспорта и будет бороться с читерами  
https://u.to/UO5IFg

В состав Chrome включена поддержка блокировки сторонних Cookie в режиме инкогнито  
https://u.to/fe9IFg

Выпуск платформы голосового общения Mumble 1.3  
https://u.to/A-BIFg

Xiaomi добавит системную функцию отключения рекламы  
https://u.to/xfBIFg

#news
источник
Админим с Буквой
описываем динамически диски vmware в terraform

terraform version:
0.12+

1) на нужном уровне задаем переменную

variable "disk_size" {
 type    = "list"
 default = [
   {
     size   = 20,
     number = 0
   },
   {
     size   = 300,
     number = 1
   }]
}

2) создаем саму виртуальную машину:

resource "vsphere_virtual_machine" "vm" {
 name             = "${var.prefix}${var.name}-${count.index}"
 count            = "${var.instance_count}"

....

 dynamic "disk" {
   for_each = [for d in var.disk_size: {
     size   = d.size
     number = d.number
   }]

   content {
     label            = format("disk%s", disk.value.number)
     size             = disk.value.size
     thin_provisioned = "${data.vsphere_virtual_machine.template.disks.0.thin_provisioned}"
     eagerly_scrub    = "${data.vsphere_virtual_machine.template.disks.0.eagerly_scrub}"
     unit_number      = disk.value.number
   }
 }

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

#terraform #vmware
источник
Админим с Буквой
ceph osd create

несколько заметок о проблемах при инициализации osd

1) отсутствует keyring - ceph-deploy считывает его из файлов /etc/ceph/ceph.client.bootstrap-osd.keyring,/etc/ceph/ceph.keyring,/etc/ceph/keyring,/etc/ceph/keyring.bin, а он лежит после копирования с помощью ceph-deploy admin в файле ceph.client.admin.keyring
как workaround -  просто скопировать с тем именем с которым ищется
2) UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 132: ordinal not in range(128)
обсуждение тут: https://tracker.ceph.com/issues/41609
я в свою очередь сильно не заморачивался и сделал как посоветовал человечек в середине обсуждения, поправив файл /usr/sbin/ceph-volume

#ceph #никогда_из_коробки
источник
2019 September 12
Админим с Буквой
Новости IT, четверг, 12.09.2019

 В некоторых процессорах Intel нашли уязвимость NetCAT — она позволяет красть данные по SSH
https://u.to/EIZMFg

Google выпустила обновление Chrome для Android. Что изменилось?  
https://u.to/WIZMFg

 Apple скопировала ключевую фишку Google Pixel, но не полностью  
https://u.to/AYdMFg

В Ubuntu 19.10 будет использована светлая тема оформления и ускорена загрузка  
https://u.to/t4hMFg

Выпуск интегрированной среды разработки Qt Creator 4.10.0  
https://u.to/_YhMFg

#news
источник
2019 September 13
Админим с Буквой
Настраиваем jmx exporter для kafka в prometheus

исходные данные - есть докер с запущенной кафкой.

1) задаем конфиг /etc/jmx_exporter/config.yaml

---
startDelaySeconds: 3
hostPort: KAFKA_HOST:KAFKA_PORT
username:
password:
ssl: false
whitelistObjectNames: ["kafka.server:type=BrokerTopicMetrics,*"]
rules:
 - pattern: ".*"

2) запуск экспортера, либо в компоуз, либо отдельно, например так:

$ cat /etc/systemd/system/jmx_exporter.service
[Unit]
Description=jmx exporter
Requires=docker.service
After=docker.service

[Service]
Restart=always
RestartSec=3
ExecStartPre=/bin/sh -c "/usr/bin/docker rm -f jmx_exporter 2> /dev/null || /bin/true"
ExecStart=/usr/bin/docker run --rm -a STDIN -a STDOUT -a STDERR -v "/etc/jmx_exporter/config.yaml:/opt/jmx_exporter/config.yml" --name jmx_exporter -p "8081:5556" sscaling/jmx-prometheus-exporter
ExecStop=/usr/bin/docker stop jmx_exporter

[Install]
WantedBy=multi-user.target

3) в самой кафке, например в компоузе, нужно указать jmx endpoint
порты:
    ports:
     - "0.0.0.0:${KAFKA_ADVERTISED_PORT}:${KAFKA_ADVERTISED_PORT}"
     - "0.0.0.0:${KAFKA_JMX_PORT}:${KAFKA_JMX_PORT}"
и опцию JMX
      KAFKA_JMX_PORT: ${KAFKA_JMX_PORT}
     KAFKA_JMX_OPTS: -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=${KAFKA_ADVERTISED_HOST_NAME} -Djava.net.preferIPv4Stack=true -Dcom.sun.management.jmxremote.port=${KAFKA_JMX_PORT} -Dcom.sun.management.jmxremote.rmi.port=${KAFKA_JMX_PORT}

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

+ статья-пример, что можно взять для мониторинга из такого экспортёра: https://sematext.com/blog/kafka-metrics-to-monitor/#toc-network-request-rate-2

#kafka #prometheus
источник
Админим с Буквой
Macos which package owns file

in debian-like OS we usually do it by dpkg. i.e. when we see some config, binary or library and want to know which package it belongs to, we simple type dpkg -S /path/to/file. Macos has preinstalled binaries, which come even not from brew. To find out info about them, u can use the following:

$ pkgutil --file-info /usr/bin/less
volume: /
path: /usr/bin/less

pkgid: com.apple.pkg.Core
pkg-version: 10.14.5.1.1.1556948270
install-time: 1556961392
uid: 0
gid: 0
mode: 755


and then, if u want to see all files, owned by package, u can do this:

pkgutil --files com.apple.pkg.Core | wc -l
 460973


wc was added cause the output is too long...

#macos
источник