Мы много работаем с Kubernetes, и когда вы работаете с Секреты
Это может быть полная боль для их редактирования. Стандартный рабочий процесс может быть что-то вроде.
# Grab the existing secret kubectl get secret some-secret -o yaml > some-secret.yaml # Grab the existing secret kubectl get secret some-secret \ -o jsonpath='{ .data.secret }' \ | base64 -D > thesecert.txt # Edit the secret vim thesecret.txt # Grab the new secret and put it into the secret file # and apply it to the cluster cat thesecret.txt | base64 | pbcopy vim some-secret.yaml # paste in your b64 encoded secret kubectl apply -f some-secret.yaml
Это не отличный пользовательский опыт и что, если вы хотите использовать Kubectl Edit
?
Есть немного VIM FOO, вы можете использовать для редактирования секрета в строке.
kubectl edit secret some-secret # navigate to the base64 encoded secret # place your cursor on the space between the ":" # and the first character of the secret # hit `r` this replaces the space # with a new line # move your cursor down one line to the secret # in the command prompt `:. ! base64 -D` # Edit your secret # in the command prompt `:. ! base64` # if your secret is multiline you can # use `: , ! base64` # or you can highlight the lines in visual # mode and use `:! base64` # Join the lines by moving back up the secret key # and hitting `J` # Then write quit `:wq` # you should see this as output # `secret/some-secret edited`
И если вы хотите редактировать многослойный секрет, скажем, тот, который был создан из файла. А не Base64
Кодирование текущей строки с использованием :
Вы можете использовать ряд линий номеров : 13,84! Base64
И вы будете кодировать все эти линии вместе включить строку 84.
редактировать: Добавлена информация о многоуровневых секретах
Обновлять
Я хотел добавить еще один совет здесь — Pesky New Lines.
Если вы редактируете секрет, и вы используете Отказ Действительно Base64.
Вы закончите новой персонаж в конце вашего секрета. Если это нормально … cool, если нет, вы можете использовать TR
очистить его
. ! tr -d '\n' | base64
Оригинал: «https://dev.to/focusedlabs/editing-kubernetes-secrets-inline-44f7»