У меня проблема с развертыванием нескольких секретов из шаблона deployment.yaml
. По какой-то причине, когда мое приложение пытается найти файл в развертывании, его не удается найти. Секреты взяты groovy скриптом из gopass.
Вот актуальная упрощенная версия файла (уровни индикации должны быть правильными)
apiVersion: apps/v1
kind: Deployment
metadata:
name: "test-app"
spec:
template:
spec:
containers:
- name: "some-container"
image: "imgtag"
volumeMounts:
- name: app-secrets
mountPath: /app/secrets
volumes:
- name: app-secrets
projected:
sources:
- secret:
name: secret1
- secret:
name: secret2
Старая версия (правильно созданная private_key.pem
) :
apiVersion: apps/v1
kind: Deployment
metadata:
name: "test-app"
spec:
template:
spec:
containers:
- name: "some-container"
image: "imgtag"
volumeMounts:
- name: app-secrets
mountPath: /app/secrets
volumes:
- name: app-secrets
secret:
secretName: secret1
secrets.groovy
:
def secrets() {
[
[type: "fromFile", name: "secret1", key: "private_key.pem", gopassPath: "firstGopassPath"],
[type: "fromFile", name: "secret2", key: "credentials.txt", gopassPath: "secondGopassPath"]
]
}
return this
Когда я добавил задержку (чтобы избежать сбоев), я увидел, что эти файлы просто нигде не смонтированы.
Описание модуля говорит, что:
(это было до обновления клиента kube)
Volumes:
app-secrets:
<unknown>
(это было после обновления клиента kube до версии 1.18 с 1.12.1)
Volumes:
app-secrets:
Type: Projected (a volume that contains injected data from multiple sources)
- ОБНОВЛЕНИЕ -
kubectl get secret secret1 -o yaml
apiVersion: v1
data:
old_private_key.pem: somekey
kind: Secret
metadata:
creationTimestamp: "2020-04-22T15:31:43Z"
name: jpd-sales-force-private-key
namespace: default
resourceVersion: "137791226"
selfLink: /api/v1/namespaces/default/secrets/secret1
uid: a4f71c36-81d0-44f8-87a0-a6100c6f9f01
type: Opaque
(примечание: я пытался переименовать файл - оригинал был private_key.pem, здесь: old_private_key.pem, и private_key.pem в исходном сообщении имеет настоящее новое имя, поэтому похоже, что новое имя файла не появилось).
Кто-нибудь из вас знает, что может быть не так?