What's the best way to store a persistent file in Kubernetes? I have a cert (.pfx) and I want to be passing to the application its path. From the looks of it it can't be stored in secrets. Was thinking about a volume but the question is how do I upload the file to it? And which type of volume to choose? Or is there any other efficient way?
It's unclear from your question why you came to the conclusion that it can't be stored as a Secret. This is one of the main use cases for Secrets.
Step 1. Create a Secret from your file:
kubectl create secret generic mysecret --from-file=myfile=/tmp/my.pfx
Step 2. Mount the Secret volume into a Pod:
kind: Pod
apiVersion: v1
metadata:
name: secret-test-pod
spec:
volumes:
- name: secret-volume
secret:
secretName: mysecret
containers:
- name: ...
image: ...
volumeMounts:
- name: secret-volume
mountPath: "/etc/secret-volume"
Your container should see a file at /etc/secret-volume/myfile