【问题标题】:How can I check whether K8s volume was mounted correctly?如何检查 K8s 卷是否安装正确?
【发布时间】:2020-12-31 11:32:37
【问题描述】:

我正在测试是否可以使用 initContainer 从 S3 挂载数据。我的意图和期望是将相同的卷安装到 initContainer 和 Container 上。来自 S3 的数据使用 InitContainer 下载到名为 /s3-data 的 mountPath 中,并且由于 Container 在 initContainer 之后运行,它可以从卷安装到的路径中读取。

但是,容器没有向我显示任何日志,只是说“流已关闭”。 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

【问题讨论】:

    标签: kubernetes kubernetes-jobs


    【解决方案1】:
    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?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-01
      • 2015-02-04
      • 1970-01-01
      • 2013-10-02
      • 2021-11-01
      • 1970-01-01
      相关资源
      最近更新 更多