Openshift полное секретное удаление - PullRequest
0 голосов
/ 31 октября 2019

Я пытаюсь удалить некоторые «секретные» объекты в моем проекте Openshift. На основании документации, которую вы выдаете:

oc delete secret secret-name

Openshift удалит секрет, идентифицированный по секретному имени, и сгенерирует новый вместо него.

Как я могу полностью удалить секрет безсгенерировать новый автоматически?

Ответы [ 2 ]

0 голосов
/ 01 ноября 2019

Чтобы показать базовый пример:

$ oc get secrets | grep postgres
postgresql-persistent-parameters7albb           Opaque                                1         53d
postgresql-persistent-parameters9dlte           Opaque                                1         118d
postgresql-persistent-parameterscow6t           Opaque                                1         98d
postgresql-persistent-tczfh-credentials-jh87i   Opaque                                4         41d
postgresql-vault                                Opaque                                3         53d

Удалить секрет, используя oc delete secret команду :

$ oc delete secret postgresql-vault
secret "postgresql-vault" deleted

Удаленный секрет теперь недоступен

$ oc get secrets | grep postgres
postgresql-persistent-parameters7albb           Opaque                                1         53d
postgresql-persistent-parameters9dlte           Opaque                                1         118d
postgresql-persistent-parameterscow6t           Opaque                                1         98d
postgresql-persistent-tczfh-credentials-jh87i   Opaque                                4         41d
0 голосов
/ 01 ноября 2019

Чтобы удалить secret с service account, связанным с секретом, вы должны сначала удалить служебную учетную запись.

Если вы смотрите на секрет, который хотите удалить, вы можетенайти связанную учетную запись службы:

Поиск связанной учетной записи службы: oc get secret secret-name -o json

Существует аннотация kubernetes.io/service-account.name, и значением этой аннотации является учетная запись службы.

Найти имя учетной записи службы проще с помощью jq для анализа json:

oc get secret secret-name -o json | jq '.metadata.annotations."kubernetes.io/service-account.name"'

Удалить учетную запись службы можно с помощью: oc delete sa my-sa

...