Обновить

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

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

Привет, когда смотришь логи подов через 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

Зачем я перевернул календарь?

Песня "3-е сентября" стала знаковым культурно-социальным явлением, на юбилей песни решил добавить в piu-piu знаменитый куплет целиком. Пришлось немного повозиться c переделкой но в итоге получилось добавить новый функционал не сломав старый. Теперь текст для рекламных самолетов можно задать как переменной так и массивом. Каждый следующий самолет будет выводить новую строку текста из массива по кругу.
Я календарь переверну...

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

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

Мониторинг в терминале?

Буквально за 15 минут собрал демку для просмотра алертов tenis'а с помощью bashui.
Я использовал "быструю" функцию для создания меню (таблиц). Подробней про эту функцию можно почитать тут. Кнопки бутафорские просто для иллюстрации)

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

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

С Днём!)

piu-piu
piu-piu

Вперёд Сисьадмины! Мир сам себя не спасёт piu-piu!

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

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

12 ...
12