Обновить

Администрирование

Сначала показывать
Порог рейтинга

Лондон-Париж. Дедики там, блики крыш

Невозможно не вспомнить когда-то популярную песню. И невозможно не рассказать, что мы открыли целых 2 новых локации для выделенных серверов — Лондон и Париж.

Итак, в наличии по 5 сборок (но скоро могут разобрать, успевайте):

💂В Великобритании:

Минимальная: AMD EPYC 3151, 4 ядра, 2.7 ГГц, 8 потоков, 32 ГБ RAM, 1 ТБ NVMe — за 7 800 ₽/мес

Максимальная: AMD EPYC 7702, 64 ядра, 2.0 ГГц, 128 потоков, 512 ГБ RAM, 2 × 2 ТБ NVMe — за 27 300 ₽/мес

🥐 Во Франции:

Минимальная, как и у британских соседей.

Максимальная: 2 × AMD EPYC 7742, 64 ядра, 2.25 ГГц, 128 потоков, 512 ГБ RAM, 2 × 2 ТБ NVMe — за 48 100 ₽/мес

Пополнить коллекцию дедиков →

Теги:
Всего голосов 7: ↑7 и ↓0+9
Комментарии1

Хочу представить свою утилиту muenvsubst для шаблонизации файлов, которая позволяет заменить всем известный envsubst, но при этом обладает гораздо более богатыми возможностями.

Основные фичи:

  • помимо шаблонизации файлов умеет шаблонизировать входной поток (stdin), используя переменные среды и результат выводить в выходной поток (stdout). Также как это делает envsubst

  • поддерживает синтаксис Jinja2 и его основные фичи, такие как условия, циклы, переменные, инклюды, различные вспомогательные функции (например, из шаблона можно звать shell-скрипты)

  • написана на C++ и собрана в статический бинарник x86 размером 350КБ без каких-либо дополнительных зависимостей, что позволяет её включать прямо в репозиторий и использовать в пайплайнах

Ранее я использовал в своих пайплайнах для шаблонизации mustache реализованные на bash и это было довольно удобно, но сам синтаксис и возможности mustache довольно ограниченные, а тащить что-то серьезное типа Jinja2 на питоне мне очень не хотелось, так как это тянуло за собой жирный рантайм, поэтому я и написал эту утилиту.

Надеюсь другим девопсам это зайдет так же как и мне. А также хотелось бы получить фидбек, может какие-то фичи ещё можно допилить?

Несколько примеров использования:

Простая подстановка переменной среды:

echo "Hello, {{ USER }}!" | muenvsubst

Шаблонизируем файл:

muenvsubst -i ./config.yml.j2 -o ./config.yml -d ./includes/

Использование переменных в шаблоне:

muenvsubst <<EOF
{%- set username = upper(USER) -%}
Hello, {{ username }}!
EOF

Использование флагов и условий:

USE_GREETER=yes muenvsubst << EOF
## if default(USE_GREETER, null) | toBool
Hello, {{ USER }}!
## else
Bye, {{ USER }}!
## endif
EOF

Использование циклов и разделение строки в список по символу:

USERS="John,Mark,Peter" muenvsubst << EOF
{%- for user in split(USERS,",") -%}
Hello, {{ user }}!
{%- endfor -%}
EOF

Использование инклюдов:

muenvsubst << EOF
## set USER="John"
## include "greeter.j2"
EOF

Файл инклюда greeter.j2:

Hello, {{ USER }}!
Теги:
Всего голосов 4: ↑4 и ↓0+6
Комментарии3

В облаке Рег.ру появилась новая версия Fedora: что нового

В облаке Рег.ру обновили ОС Fedora до 42 версии. Новинка появилась на рынке 15 апреля 2025 — и вот, она и важные апдейты свежего релиза уже доступны нашим пользователям. 

Что нового появилось:

  • стабильное и свежее ядро Linux 6.14;

  • EOL 13.05.2026;

  • актуализация библиотек и версий приложений. Теперь доступны: Golang 1.24, Tcl/Tk 9.0, LLVM 20, PHP 8.4, Ruby 3.4, Django 5.x, Ansible 11 и другие.

Fedora 42 подходит для решения широкого спектра вопросов: от базовых бизнес-задач до управления сервером базы данных с высоким трафиком.

Теги:
Всего голосов 3: ↑3 и ↓0+3
Комментарии0

Адаптировали облако Рег.ру для запуска приложений на базе 1С

В облаке Рег.ру представили новый сервис — IaaS для работы с 1С. Теперь в облачной платформе есть все необходимые и готовые к работе вычислительные ресурсы для гибкого деплоя 1С. 

Облако 1С предлагает готовый кластер серверов, индивидуально настроенный под задачи пользователя. Высокую скорость работы облачной платформы подтвердили тестами Гилева и Hummer Test. Среди других особенностей продукта:

  • работает на базе современных процессоров AMD EPYC и Intel Xeon с производительными NVMe-дисками;

  • серверы в кластере резервируются для большей надежности и бесперебойной работы приложений.

Новая услуга будет полезна системным администраторам, аутсорс-разработчикам и компаниям, предоставляющим решения 1С по модели SaaS. А чтобы оценить и повысить производительность сервиса, можно воспользоваться услугой аудита и нагрузочного тестирования.

Теги:
Всего голосов 2: ↑2 и ↓0+2
Комментарии0

Привет, долгожданные новости из мира кубернетиса. Иногда надо посмотреть за подиками, как они там живут поживают, все ли (ре)стартанули или кто завис. В kui для этого сделана кнопка RELOAD. Но постоянно жмякать кнопку это же дро...во какое-то правда? Хватит это терпеть! Добавил команду watch it, теперь можно залипнуть на какое-то время, глядя как подики ползают туда-сюда.

watch it
watch it

Оно будет с паузой в 3 секунды (+ время на обновление) постоянно показывать вывод kubectl get ...

NAME                      READY   STATUS    RESTARTS   AGE
chi-cluster-dev01-0-0-0   2/2     Running   0          23d
chi-cluster-dev01-0-1-0   2/2     Running   0          23d
chi-cluster-dev01-0-2-0   2/2     Running   0          23d

Press x to stop watching this...

Нажмите x когда надоест.

Творите, выдумывайте, пробуйте!)

Теги:
Рейтинг0
Комментарии0

Дайджест Облака Рег.ру за март

Сколько релизов и обновлений случилось в марте в Рег.ру — делимся главными новостями нашей облачной платформы: 

  • Запустили комплексную защиту от кибератак Anti-DDoS и Anti-DDoS + WAF

Вместе с компаниями StormWall и Positive Technologies запустили решения для усиленной защиты критически важных ресурсов от кибератак. Anti-DDoS фильтрует вредоносный трафик и помогает блокировать DDoS-атаки на всех уровнях — от сетевого до прикладного (L3, L4 и L7). Anti-DDoS + WAF сочетает фильтрацию трафика и интеллектуальный WAF, который анализирует поведение пользователей и блокирует вредоносные действия.

  • Добавили Astra Linux 1.8

Теперь в облаке Рег.ру доступны новые версии — с Astra Linux SE 1.8.1 «Орел» и Astra Linux SE 1.8.1 «Воронеж». Добавили ядра Linux 6.1 и 6.6, автоматизировали обновления и улучшили профили настроек средств защиты информации. Сервер с новой версией можно потестировать на сайте.   

  • Перешли на обновленный Pay-As-You-Go учет

Продолжаем переход от модели хостинг-провайдера в части работы с облачными ресурсами. В облаке Рег.ру ввели новую систему учета ресурсов, о которой подробнее рассказали на сайте. Теперь стоимость услуг определяется типом и объемом заказанных ресурсов, независимо от тарифного плана. Еще мы выделили в отдельную услугу плавающий публичный IP-адрес, который входил в тариф и отдельно не учитывался. Теперь за него взимается фиксированная стоимость, но при желании от него можно отказаться.

  • Ускорили работу с облачной аналитикой в 2 раза

Совместно с IT-компанией «Фабрика Данных» провели высоконагруженные вычисления с Big Data и ускорили работу с облачной аналитикой. Для своих задач компания использует наши облачные серверы с GPU. Уровень отказоустойчивости сервиса достигает 100%. Также почти на четверть повысили точность принятия решений при работе с аналитическими сервисами. Подробнее о результатах проекта рассказываем на сайте.

Ждем, что нового принесет апрель — поделимся с вами!

Теги:
Всего голосов 2: ↑2 и ↓0+2
Комментарии0

Рег.ру ускорил работу с облачной аналитикой в 2 раза

В облаке Рег.ру совместно с компанией «Фабрика Данных» провели высоконагруженные вычисления с Big Data и ускорили работу с облачной аналитикой. Делимся результатами проекта.

Компания «Фабрика Данных» занимается работой с высоконагруженными проектами: аналитикой данных, выявлением трендов и мониторингом спроса в областях FMCG, производства, финансов и др. С помощью ее продуктов можно получить персонализированные рекомендации по управлению ассортиментом товаров, ценообразованию и маркетинговым стратегиям. Для своих задач компания использует облачные серверы с GPU в Рег.ру. Рассказываем, каких результатов это помогло достичь:

  • ускорили работу с облачной аналитикой в 2 раза;

  • 100% — такой уровень отказоустойчивости сервиса обеспечили;

  • почти на четверть повысили точность принятия решений при работе с аналитическими сервисами.

Подробнее о результатах проекта читайте на сайте.

А чтобы запустить и протестировать собственные проекты с высоконагруженными задачами, воспользуйтесь облачными серверами с GPU от Рег.ру.

Сервис оснащен двумя типами видеокарт NVIDIA: А5000 24Гб и А100 80Гб и подходит для выполнения ресурсоемких задач: для работы с AI и ML, графикой и видео, 3D, VDI и др.

Теги:
Всего голосов 2: ↑2 и ↓0+2
Комментарии0

Привет, все знают(?) что данные в скрипт можно передать через аргументы, как-то так:

$ cat test
#!/bin/bash
var=$1
echo $var

$ ./test bla
bla

Но в какой-то момент аргументов становится слишком много, а так чешется всунуть что-то еще)
Куда всунуть? Как? В каком порядке? Сначала сунуть это, потом то? Городить гетопс?
В этом случае бывает удобно использовать переменные окружения!

$ cat test
#!/bin/bash
var1=$1
var2=$2
var3=$3
var4=$4
var5=$5

echo $var1 $var2 $var3 $var4 $var5 $one_more_var

$ one_more_var=ble ./test
ble

Творите, выдумывайте, пробуйте!)

Теги:
Всего голосов 3: ↑2 и ↓1+3
Комментарии3

Дайджест Облака Рег.ру за февраль

Февраль в Облаке Рег.ру стал месяцем обновлений KaaS (Kubernetes as a Service). Рассказываем о главных продуктовых релизах нашей облачной платформы:

  • Обновили Kubernetes
    За месяц мы выпустили много важных релизов и фич в KaaS: добавили операцию добавления, удаления и переименования группы, а также операцию изменения количества нод для кластеров. Увеличили лимит на количество групп и нод до 10, добавили операцию смены тарифа группы нод и подключили новую версию Kubernetes 1.30.8. Как заказать и управлять услугой, читайте на сайте.

  • Запустили новое меню на сайте
    Улучшили навигацию, распределили продукты по категориям, а также добавили раздел с информацией по предустановленным ОС и приложениям. Решения бизнес-задач в облаке теперь расположены в отдельной вкладке, а документацию, блог, инструкции и много другой полезной информации можно найти в разделе «Ресурсы». Как выглядит новое меню, смотрите на сайте. 

  • Получили сертификаты ISO
    Мы прошли сертификацию по требованиям международного стандарта ISO/IEC 27001:2013 в области информационной безопасности. Теперь все процессы по управлению и обеспечению кибербезопасности внутри нашей компании соответствуют лучшим мировым практикам. Также мы получили сертификаты ISO 9001:2015 и ISO/IEC 20000-1:2018, которые подтверждают высокий уровень менеджмента качества и комплексный подход компании к управлению IT-сервисами.

  • Отметили годовщину выхода DBaaS из беты
    В феврале нашему сервису DBaaS исполнился год с момента выхода из статуса βeta. За это время мы обновили версии PostgreSQL, добавили возможность кастомизировать настройки кластеров под их собственную нагрузку, обновили список доступных расширений, внедрили опцию выбора локали, расширили возможности управления доступом для пользователей кластеров баз данных и многое другое.

Следите за нашими новыми обновлениями!

Теги:
Всего голосов 2: ↑2 и ↓0+4
Комментарии0

Привет, иногда хочется утащить из скрипта переменные или функции. Это можно легко сделать используя source. Но есть заковыка. Скрипт-источник будет выполнен, что не всегда удобно. Пример:

$ cat test
#!/bin/bash

var1=bim
var2=bom

echo you should not see this $var1 $var2

Пробуем засорсить:

$ var1= var2=; . ./test; echo $var1 $var2
you should not see this bim bom
bim bom

Мы получили вожделенные переменные но при этом выполнился нежелательный код. Как этого избежать? Можно немного модифицировать скрипт:

$ cat test
#!/bin/bash

var1=bim
var2=bom
[[ $1 == only_vars ]] && return
echo you should not see this $var1 $var2

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

$ var1= var2=; . ./test only_vars; echo $var1 $var2
bim bom

Важно использовать именно return, exit закроет текущую оболочку.

Творите, выдумывайте, пробуйте!)

Теги:
Всего голосов 2: ↑2 и ↓0+3
Комментарии1

Привет, когда смотришь логи подов через kubectl и вдруг у пода оказывается несколько контейнеров, kubectl logs ... завершается ошибкой:

error: a container name must be specified for pod pod-name-0, choose one of: [...]

Хватит это терпеть! Мой kui идет на помощь! Добавил команду logs all она показывает логи сразу всех контейнеров без необходимости выбора!

смотри все логи сразу
смотри все логи сразу

Творите, выдумывайте, пробуйте!)

Теги:
Всего голосов 3: ↑3 и ↓0+3
Комментарии0

Привет, все знают как прочитать содержимое файла в линукс терминале(?), для этого используется cat:

$ cat file
one
two
three

Но иногда возникает необходимость прочитать файл с конца, задом наперед. Как это сделать? Tac!

$ tac file
three
two
one

Для тех кто в танке tac это cat наоборот.

Творите, выдумывайте, пробуйте!)

Теги:
Всего голосов 6: ↑6 и ↓0+7
Комментарии0

Привет! Подкрутил немного анимацию spinner'а, теперь выглядит так:

бынь-бынь
бынь-бынь

Spinner - это небольшой скриптик чтобы заполнить пустоту экранного пространства во время работы какого-нибудь долгого процасса, не выводящего ничего. Работает как-то так:

$ ./spinner sleep 5

Please wait [0:0:3] (* )  ( *)

Ну и оно там вот так пульсирует, быньк-быньк)

Творите, выдумывайте, пробуйте!)

Теги:
Всего голосов 10: ↑10 и ↓0+15
Комментарии0

Ближайшие события

Привет, часто в скриптах встречаю бесполезное использование кавычек, вот такое вот:

var_b="$var_a"
var_c="$(...)"

Понятно с какой целью это делается, типа вдруг дам пробелы и оно сломается, давайте посмотрим сломается или нет:

$ echo $var_a
1 2

$ var_b=$var_a
$ echo $var_b
1 2

$ var_c=$(echo 3 4)
$ echo $var_c
3 4

Вроде не сломалось и без кавычек все прекрасно уместилось в переменные.
Кавычки нужны только для "склеивания" данных или переменных:

$ var_a="1 2"
$ echo $var_a
1 2

#а без кавычек:
$ var_a=1 2
2: команда не найдена

#и с переменными:
var_a="$var_b $var_c"

#без кавычек:
$ var_a=$var_b $var_c
3: команда не найдена

Творите, выдумывайте, пробуйте!)

Теги:
Всего голосов 2: ↑1 и ↓10
Комментарии4

Чёрная пятница 2024 в Облаке Рег.ру

Начинаем Чёрную пятницу и дарим бонусные 500 рублей на облачный счёт Рег.ру при пополнении баланса от 500 рублей. Успейте воспользоваться бонусом до 2 декабря!

Как получить бонус:

  1. Создайте учётную запись или войдите в уже существующую в личном кабинете Облака Рег.ру;

  2. Активируйте промокод по ссылке — в ЛК отобразится подтверждение успешной активации;

  3. Внесите на баланс сумму от 500 рублей в период действия акции;

  4. Дополнительные 500 рублей автоматически зачислятся на ваш облачный счёт.

Есть способ проще: при заказе услуги просто введите промокод BLACKFRIDAY2024 в соответствующее поле. 

500 рублей — это много или мало?

Рассказываем, на какие облачные услуги можно потратить бонусные рубли. Спойлер: получается выгодно. 

500 рублей в Облаке:

  • 1 месяц работы Производительного сервера (базовая конфигурация)

  • 2 недели работы кластера Базы Данных

  • 5 часов работы сервера с GPU

1000 рублей в Облаке:

  • 2 месяца работы Производительного сервера (базовая конфигурация)

  • 1 месяц работы кластера Базы Данных

  • 10 часов работы сервера с GPU

  • 1 месяц работы Высокочастотного сервера

  • 1 неделя работы кластера Kubernetes

Подробные условия акции — по ссылке, а протестировать и заказать облачные услуги Рег.ру можно на сайте

Теги:
Всего голосов 1: ↑1 и ↓0+3
Комментарии0

Пятница, вечер, а я все продолжаю тыкать свой kui в ноды кубернетиса.

Node pods
Node pods

Натыкал такое, добавил две новые команды: Node pods и Top node pods. Первая позволяет посмотреть все поды ноды. А вторая сделать топ поды ноды.

И если поды ноды kubectl умеет показывать из коробки, как-то так:

kubectl get po -A --field-selector spec.nodeName=<node_name>

То с топами подов нодов пришлось немного повозиться, kubectl не может сам сделать топ поды ноды, говорит такое:

kubectl top po -A --field-selector spec.nodeName=<node_name>
Error from server (BadRequest): "spec.nodeName" is not a known field selector: only "metadata.name", "metadata.namespace"

Пришлось ему немного помочь, сначала я запомнил поды ноды в переменную np

np=$(
   kubectl get po -A --field-selector spec.nodeName=<node_name> | \
   awk '{print $2}'
)

Потом сделал топ всех подов и грепнул поды ноды

kubectl top po -A | grep -F "$np"

И еще там были сопутствующие изменения и вот это вот все.

Творите, выдумывайте, пробуйте!)

Теги:
Всего голосов 4: ↑3 и ↓1+5
Комментарии0

Привет, снова я со своим kui'ем!)

top nodes
top nodes

Позанимался немного с нодами и подумал что удобно было бы выбирать ноды из вывода kubectl top no, добавил это. Команда (top) доступна на первом шаге (выбор кластера) и через "быстрые команды".

Творите, выдумывайте, пробуйте!)

Теги:
Всего голосов 3: ↑2 и ↓1+3
Комментарии2

Привет, небольшой апдейт для kui

delete cronjob
delete cronjob

Добавил команду удаления для кронжобов.

Творите, выдумывайте, пробуйте!)

Теги:
Всего голосов 3: ↑3 и ↓0+5
Комментарии0

Глаза превращаются в...

info-bar
info-bar

Использую такую штуку в терминале info-bar о которой я писал тут, инфо бар показывает git status, если $PWD содержит папку .git. Сегодня занимался с репами, крутил вертел по разному, в какой-то момент вкладка терминала зафризилфсь. Оказалось что info-bar плохо переносит большое количество информации от git status

$ git status -sb | wc -l
9451

Пришлось ограничить вывод 50 строками, теперь так:

git_sts_depth=50
...
git -c color.ui=always status -sb | head -$git_sts_depth

Заодно смердил в мастер новую версию в которой глаза заменены на, эм, ну увидите)

Творите, выдумывайте, пробуйте!)

Теги:
Всего голосов 1: ↑1 и ↓0+3
Комментарии3

Наткнулся на такой вопрос на SO Как передать строку из функции в переменную? В баше переменные по умолчанию глобальные, просто используйте этот факт:

fun1(){
  var1=$1
}

$ fun1 test
$ echo $var1
test

Но если сильно зудит можно попробовать что-то типа такого:

fun2(){
    local var_name=$1; shift 1
    printf -v $var_name '%s' "$@"
}

$ fun2 v2 some data
$ echo $v2
somedata

Или используя read вместо printf:

fun3(){
    local var_name=$1; shift 1
    read $var_name <<< "$@"
}

$ fun3 v3 some data
$ echo $v3
some data

Творите, выдумывайте, пробуйте!)

Теги:
Всего голосов 1: ↑1 и ↓0+3
Комментарии0