Pull to refresh
4K+
98
Иван Маров@vaniacer

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

0,5
Rating
29
Subscribers
Send message

Эгегей!
Я продолжаю заморачиваться версиями и вот еще одна отличная новость, kui увеличился до версии 1.0000000000000000000000000000000000000000001! Довольно длинный получился. Номер версии. А вы что подумали? По случаю добавил полезную функцию debase64 для работы с сертификатами (secrets). Сертификаты в формате kubernetes.io/tls кодируются base64. Debase64 декодирует информацию из секретов, теперь можно без труда сравнивать сертификаты из секретов кубера с сертификатами где-то, где вы их храните.

debase it
debase it

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

Tags:
+3
Comments0

Юху!
Смотрите sshto обновилось до версии 1.01! В новой версии по многочисленным (2) просьбам добавил поддержку множественных значений Host. Теперь вот такой конфиг:

Host     homyak home house
HostName localhost
User     root

Будет обработан вот так:

домик
домик

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

Tags:
Total votes 2: ↑1 and ↓1+2
Comments0

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

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

Tags:
Rating0
Comments1

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

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

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

Tags:
Total votes 2: ↑2 and ↓0+2
Comments0

Егегей!

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

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

Tags:
Rating0
Comments4

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

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

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

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

Tags:
Rating0
Comments0

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

kubectl user interface
kubectl user interface

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

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

Tags:
Total votes 8: ↑0 and ↓8-8
Comments0

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

helm uninstall
helm uninstall

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

Tags:
Rating0
Comments0

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

Happy Helming!
Happy Helming!

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

Tags:
Total votes 1: ↑1 and ↓0+1
Comments0

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

watch it
watch it

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

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

Tags:
Total votes 2: ↑1 and ↓10
Comments0

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

rollout to revision
rollout to revision

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

Tags:
Total votes 2: ↑1 and ↓10
Comments0

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

volumeattachment
volumeattachment

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

Tags:
Total votes 2: ↑1 and ↓10
Comments0

Привет, как узнать % использования 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.

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

Tags:
Total votes 4: ↑3 and ↓1+3
Comments0

Эгегей! Радость, 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"

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

Tags:
Total votes 5: ↑4 and ↓1+5
Comments1

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

manual run cronjob
manual run cronjob

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

Tags:
Total votes 2: ↑1 and ↓10
Comments0

Привет, смотрите че наговнокодил, вот такую вот проверку конфига для 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

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

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

Как вам?)

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

Tags:
Total votes 31: ↑6 and ↓25-19
Comments11
1

Information

Rating
2,484-th
Location
Россия
Registered
Activity

Specialization

Specialist
Bash
Linux
Python