Обновить
97
Иван Маров@vaniacer

Опытный пользователь ПК

29
Подписчики
Отправить сообщение

Привет!
Даже не думал что бывший коллега пишет не только код но и рассказы. А недавно у него вышла книга - Медные реки. Рассказы о программистах. Рассказы фантастические, в прямом и переносном смыслах) Прочитал, как говорится, на одном дыхании. Заставляет задуматься о профессии, об ответственности которую мы возлагаем на себя осознано или нет. О выборе который мы делаем ежедневно и о его последствиях.

Читайте, думайте, не пытайтесь повторить это дома!)

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

Привет!
Sshto может паралельно выполнять команды на нескольких серверах. Но вывод потом получается вразнобой. Исправил это. Добавил сортировку вывода по имени сервера.

было, стало
было, стало

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

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

Егегей!

Не kui'ем единым как говорится, подкрутил немного sshto. Заменил 'scp -r' в командах download/upload на rsync. Теперь можно копировать информацию туда-сюда-обратно с докачкой)

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

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

Привет, с новым годом!)
Тоже корежит что в kubectl get pods нельзя добавить дополнительные поля? Конечно есть -o=custom-columns но оно же не добавляет поля а выводит вот те поля которые ты попросишь. При этом полезное поле READY через custom-columns не вывести. А -o wide слишком wide. Жри что дают. Это не наш метод. Давно собирался что-то с этим сделать но руки не доходили. И вот праздники, обнулился, сразу пришло решение как сделать. Добавил это в kui, теперь выбор стрючков выглядит так:

kubectl get pods с доп. полями NODE и IP
kubectl get pods с доп. полями NODE и IP

Вся необходимая информация сразу на одном экране и все влезает т.к. не wide, ура)

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

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

Привет, небольшой апдейт, добавил возможность редактировать service в kui:

edit service
edit service

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

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

Привет, меня наругали за использование "порно" гифки в ридми kui'я, поддался, заменил на нейтральное вот такое:

kubectl user interface
kubectl user interface

Теперь это sfw. Старую гифку можно посмотреть тут)

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

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

Привет, приятно когда kui увеличивается, даже если увеличился совсем чуть-чуть. Добавил команду helm uninstall.

helm uninstall
helm uninstall

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

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

Привет, по случаю прикрутил к kui'ю немного helm'а. Можно посмотреть статус, историю, манифест и откатить релиз.

Happy Helming!
Happy Helming!

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

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

Привет, подкрутил немного свой kui. Добавил применение фильтра к подам в режиме подсматривания (watch it).

watch it
watch it

Теперь можно подсматривать только за интересными стрючками.

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

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

Эгегей, kui еще немного окреп! Добавил команду 'rollout to revision'. Теперь можно откатывать деплои на определенную версию а не только на предыдущую.

rollout to revision
rollout to revision

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

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

Привет, небольшой апдейт. Добавил еще один тип k8s объектов который теперь можно тыкать kui'ем - volumeattachment

volumeattachment
volumeattachment

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

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

Привет, как узнать % использования PVC? Kui поможет! Добавил команду PVC Usage

PVC usage
PVC usage

PVC это абстракция поэтому прямого пути (команды) узнать использование PVC нет. Как сделано? Ищем стручек (pod) который использует искомый PVC:

pvc_used_in=$(
    kubectl -n $namespace get po -o \
    jsonpath='{range .items[*]}{.metadata.name}{" "}{range .spec.volumes[*]}{.name}{" "}{.persistentVolumeClaim.claimName}{" \n"}{end}{end}' | \
    grep " $pvc_name "
)
raw=($pvc_used_in)
pod_name=${raw[0]}
mnt_name=${raw[1]}

Находим точку g монтирования:

pod_mount_name=$(
    kubectl -n $namespace get po/$pod_name -o \
    jsonpath='{range .spec.containers[*]}{range .volumeMounts[*]}{.name}{" "}{.mountPath}{"\n"}{end}{end}' | \
    awk "/$mnt_name /"'{print $2}'
)

Проверяем использование диска (PVC):

pvc_usage=$(
    kubectl -n $namespace exec po/$pod_name -- df -h $pod_mount_name
)

Выводим результат:

echo "PVC capacity: $pvc_capacity"
echo "PVC used in:"; echo "$pvc_used_in"
echo "PVC usage:"  ; echo "$pvc_usage"
PVC capacity: 750Gi
PVC used in:
kafka-dev-broker-1 data data-kafka-dev-broker-1 
PVC usage:
Filesystem      Size  Used Avail Use% Mounted on
/dev/rbd4       738G   44G  695G   6% /bitnami/kafka

Бонусом добавил возможность прибивать PVCишки kui'ем, добавил команды Delete и Terminate.

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

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

Эгегей! Радость, kui снова подрос! Добавлена команда 'SSL update' для обновления сертификатов и ключей в секретах типа 'kubernetes.io/tls'. Как это работает?

  • Кладете в какую-нибудь папку новый сертификай, файл должен называться tls.crt и ключ с именем tls.key

  • Запускаете kui в этой папке, находите секрет с сертификатом который необходимо обновить

  • Обновляете через 'SSL update'

SSL update
SSL update

Под капотом, обновление выполняется вот такой командой:

printf -v ssl_patch_data '{"data": {"tls.crt": "%s", "tls.key": "%s"}}' "$(base64 -w0 tls.crt)" "$(base64 -w0 tls.key)"
kubectl patch secret/<secret_name> -n <namespace> --patch="$ssl_patch_data"

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

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

Привет, потенциал kui еще немного увеличился! Случилось то что случилось, в продской cronjoпеb'е что-то застряло. Добавил в kui ручной запуск кронжоб и kui'ем протолкнул застрявшее в кронжобе ...

manual run cronjob
manual run cronjob

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

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

Привет, смотрите че наговнокодил, вот такую вот проверку конфига для haproxy

if check '/etc/haproxy/haproxy.cfg'; then
red='\e[91m'
ylw='\e[93m'
DEF='\e[0m'
/usr/sbin/haproxy -c -f /etc/haproxy/haproxy.cfg || printf "
${red}WARNING!
${red}Haproxy config has errors!
${ylw} __
${ylw}|  \_____${red}︹${DEF}
${ylw}\        ${red}\ \ ${DEF}
${ylw}/  ______${red}/ / ${DEF}
${ylw}|__/     ${red}︺ ${DEF}
"
fi

Выглядит вот так:

ох..ая ошибка
ох..ая ошибка

Как вам?)

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

Теги:
Всего голосов 31: ↑6 и ↓25-19
Комментарии11

Привет, малюсенькое увеличение потенциала kui'я, добавил pv и pvc в список просмотра.

pv and pvc
pv and pvc

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

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

Привет, развил тему пропихивания стручков (pod'ов) в кубернетис, добавил в меню выбора типа объектов команду apply. Теперь kui'ем можно приколачивать мYAMLики, создавая любые типы объектов. По умолчанию предлагает создать стручок:

создай свой стручок
создай свой стручок

Но с помощью кнопки edit можно изменить мямлик, изменения сохранятся в файл ~/.kyml.

С удивлением обнаружил что хаб Кодобред переименован в Говнокод О_о Чтож, так даже интереснее.

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

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

Привет, приспичило создать тестовый стручек (pod), проверить кое-что. Создал и добавил это в kui, в секцию "быстрых" команд:

добавь свой стручек
добавь свой стручек

Тестовый стручек создается вот такой командой:

kube run $quick_pod_name $ns --image=$quick_pod_image --command -- $quick_pod_command 2>&1

Для изменения названия, образа или команды стручка подредактируйте вот эти переменные в начале скрипта:

quick_pod_name=busytest          # Pod name for simple test pod
quick_pod_image=busybox:1.32     # Pod image for simple test pod
quick_pod_command="sleep 3600"   # Pod command for simple test pod

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

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

Информация

В рейтинге
Не участвует
Откуда
Россия
Зарегистрирован
Активность

Специализация

Специалист
Bash
Linux
Python