<p>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?</p>

<p>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 <a href="https://kubernetes.io/docs/concepts/configuration/secret/#use-cases" rel="noreferrer">use cases</a> for Secrets.</p>

<p>Step 1. Create a Secret from your file:</p>

<pre><code>kubectl create secret generic mysecret --from-file=myfile=/tmp/my.pfx
</code></pre>

<p>Step 2. Mount the Secret volume into a Pod:</p>

<pre><code>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"
</code></pre>

<p>Your container should see a file at <code>/etc/secret-volume/myfile</code></p>
