我正在尝试创建一个新的 Kubernetes 部署,它允许我在重新启动或关闭 pod 时保持其状态。仅就某些背景而言,Kubernetes 实例是一个托管的 Amazon EKS 集群,我正在尝试合并一个安装到 pod 的由 Amazon EFS 支持的持久卷。
不幸的是,正如我现在所拥有的那样,PV 可以/etc/
根据需要安装,但内容几乎是空的,除了一些在引导期间修改的文件。
部署 yaml 如下所示:
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
.