If you dont want to set it in the docker image, you can use the initcontainer to download when POD starts. You can set the file into the hostPath when service A starting.
When you say service A has file not sure if it's in the repo or it's part of Docker image build. If not part of the repo and it's stored at some central place like Bucket you can download it when service B starts with initcontainer.
Example downloading file and set & share to hostpath:
apiVersion: v1
kind: Pod
metadata:
name: init-demo
spec:
containers:
- name: nginx
image: nginx
ports:
- containerPort: 80
volumeMounts:
- name: save-data
mountPath: /data-dir
initContainers:
- name: install
image: ubuntu
command: ['curl', 'download-link-path >', '/tmp/file.csv']
volumeMounts:
- name: save-data
mountPath: "/data-dir"
dnsPolicy: Default
volumes:
- name: save-data
hostPath:
path: /data-dir
type: Directory
other option is to set the shared file system which multiple PODs can attach and use same time. ReadWriteMany or ReadOnlyMany option.
is very good option to use for above scenario.