generated from amazon-archives/__template_Apache-2.0
-
Notifications
You must be signed in to change notification settings - Fork 156
Closed
Labels
bugSomething isn't workingSomething isn't working
Description
I want to pass the aws secrets manager secret as an environment variable to the eks container. However even after correctly volume mounted the secret, the kubernetes secret could not be created from the volume mount.
I am using the roles and service account mentioned in the document.
To Reproduce
Here is my secretprovider class:
apiVersion: secrets-store.csi.x-k8s.io/v1
kind: SecretProviderClass
metadata:
name: aws-secrets
spec:
provider: aws
secretObjects:
- secretName: newsecret # name of the Kubernetes Secret object
type: Opaque # type of the Kubernetes Secret object e.g. Opaque, kubernetes.io/tls
data:
- objectName: dbpass # name of the mounted content to sync. this could be the object name or the object alias
key: password # data field to populate
parameters: # provider-specific parameters
objects: |
- objectName: dummysecret
objectType: secretsmanager
objectAlias: dbpass
My deployment manifest section where I am passing the secret as an Environment variable:
apiVersion: apps/v1
kind: Deployment
metadata:
name: ghost
labels:
app: ghost
spec:
selector:
matchLabels:
app: ghost
tier: frontend
strategy:
type: Recreate
template:
metadata:
labels:
app: ghost
tier: frontend
spec:
serviceAccountName: ghost-sa
containers:
- image: ghost:1-alpine
name: ghost
env:
- name: database_client
value: mysql
- name: database_connection_host
value: XXXXXX
- name: database_connection_user
value: ghostadmin
- name: database_connection_password
valueFrom:
secretKeyRef:
name: newsecret
key: password
- name: database_connection_database
value: ghostdb1
ports:
- containerPort: 2368
name: ghost
volumeMounts:
- name: ghost-persistent-storage
mountPath: /var/lib/ghost/content
- name: ghostdb-pass
mountPath: /mnt/ghostdb-pass
readOnly: true
volumes:
- name: ghost-persistent-storage
persistentVolumeClaim:
claimName: efs-storage-claim
- name: ghostdb-pass
csi:
driver: secrets-store.csi.k8s.io
readOnly: true
volumeAttributes:
secretProviderClass: aws-secrets
However the Pod goes to CreateContainerConfigError state and the following error was encountered:
Error: secret "newsecret" not found
timed out waiting for the condition
Expected behavior
The secret should be created and passed as an environment variable to the kubernetes container.
Additional context
As mentioned in the description above I can though retrieve the secret in the volume mounted:
/var/lib/ghost # ls /mnt/ghostdb-pass
dbpass
Thanks.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working