如何解决如何检查K8s卷是否正确安装?
我正在测试是否可以使用initContainer从S3装载数据。我的预期和期望是将相同的卷装入到initContainer和Container中。使用InitContainer将来自S3的数据下载到名为/ s3-data的mountPath上,并且由于Container在initContainer之后运行,因此它可以从安装卷的路径中读取数据。
但是,Container并没有显示任何日志,只是说“流已关闭”。 initContainer显示日志,表明已成功从S3下载数据。
我在做什么错?预先感谢。
apiVersion: batch/v1
kind: Job
Metadata:
name: train-job
spec:
template:
spec:
initContainers:
- name: data-download
image: <My AWS-CLI Image>
command: ["/bin/sh","-c"]
args:
- aws s3 cp s3://<Kubeflow Bucket>/kubeflowdata.tar.gz /s3-data
volumeMounts:
- mountPath: /s3-data
name: s3-data
env:
- name: AWS_ACCESS_KEY_ID
valueFrom:
secretKeyRef: {key: AWS_ACCESS_KEY_ID,name: aws-secret}
- name: AWS_SECRET_ACCESS_KEY
valueFrom:
secretKeyRef: {key: AWS_SECRET_ACCESS_KEY,name: aws-secret}
containers:
- name: check-proper-data-mount
image: <My Image>
command: ["/bin/sh","-c"]
args:
- cd /s3-data
- echo "Just s3-data dir"
- ls
- echo "After making a sample file"
- touch sample.txt
- ls
volumeMounts:
- mountPath: /s3-data
name: s3-data
volumes:
- name: s3-data
emptyDir: {}
restartPolicy: OnFailure
backoffLimit: 6
解决方法
You can try like the below mentioned the argument part
---
apiVersion: v1
kind: Pod
metadata:
labels:
purpose: demonstrate-command
name: command-demo
spec:
containers:
-
args:
- cd /s3-data;
echo "Just s3-data dir";
ls;
echo "After making a sample file";
touch sample.txt;
ls;
command:
- /bin/sh
- -c
image: "<My Image>"
name: containername
供参考: How to set multiple commands in one yaml file with Kubernetes?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。