Я пытаюсь создать новое развертывание Kubernetes, которое позволит мне сохранять состояние модуля при его перезапуске или завершении работы. Для справки: экземпляр Kubernetes - это управляемый кластер Amazon EKS, и я пытаюсь включить постоянный том, поддерживаемый Amazon EFS, который подключен к модулю.
К сожалению, в моем нынешнем виде PV подключается к /etc/
по желанию, но содержимое почти пустое, за исключением некоторых файлов, которые были изменены во время загрузки.
Вид развертывания выглядит как показано ниже:
kind: Deployment
apiVersion: apps/v1
spec:
replicas: 1
selector:
matchLabels:
app: testpod
template:
metadata:
creationTimestamp: null
labels:
app: testpod
spec:
volumes:
- name: efs
persistentVolumeClaim:
claimName: efs
containers:
- name: testpod
image: 'xxxxxxxxxxxx.dkr.ecr.us-east-2.amazonaws.com/testpod:latest'
args:
- /bin/init
ports:
- containerPort: 443
protocol: TCP
resources: {}
volumeMounts:
- name: efs
mountPath: /etc
subPath: etc
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
imagePullPolicy: IfNotPresent
securityContext:
capabilities:
add:
- ALL
restartPolicy: Always
terminationGracePeriodSeconds: 60
dnsPolicy: ClusterFirst
securityContext: {}
schedulerName: default-scheduler
Есть идеи, что может пойти не так? Я ожидаю, что / etc / будет заполнен содержимым изображения.
Редактировать:
Кажется, что это нормально работает в Docker, используя то же изображение, создавая том с docker volume create <name>
, а затем смонтируйте его как -v <name>:/etc
.