容器初始化时间结束后,GCP空了GCP丢失+发现存储问题

时间:2019-05-23 09:52:56

标签: docker kubernetes google-cloud-platform docker-compose

无论我为PVC添加的安装路径是什么,它都会创建lost + found文件夹并删除所有其他内容。

我正在尝试使用PVC设置部署

FROM python:3.5 AS python-build
ADD . /test
WORKDIR /test
CMD [ "python3", "./run.py" ]


apiVersion: apps/v1beta2
kind: Deployment
metadata:
  name: test-core
  labels:
    app: test-core
spec:
  selector:
    matchLabels:
      app: test-core
      tier: frontend
  strategy:
    type: RollingUpdate
  template:
    metadata:
      labels:
        app: test-core
        tier: frontend
    spec:
      containers:
      - image: <My image>
        securityContext:
          privileged: true
          runAsUser: 1000
        resources:
          requests:
            memory: "128Mi"
            cpu: .05
          limits:
            memory: "256Mi"
            cpu: .10
        name: test-core
        ports:
        - containerPort: 9595
          name: http
        - containerPort: 443
          name: https
        readinessProbe:
            httpGet:
              path: /
              port: 9595
            initialDelaySeconds: 5
            periodSeconds: 3
            timeoutSeconds: 3
            successThreshold: 1
            failureThreshold: 4
        envFrom:
        - secretRef:
            name: test-secret
        - configMapRef:
            name: test-new-configmap
        volumeMounts:
        - name: core-data
          mountPath: /test
        imagePullPolicy: Always
      volumes:
      - name: core-data
        persistentVolumeClaim:
          claimName: core-claim

当我从kubernetes应用此文件时,日志中出现错误,无法找到文件run.py,这意味着PVC空了。

无论添加什么装载路径,它都会创建lsot + found文件夹并删除所有其他内容。

谢谢

1 个答案:

答案 0 :(得分:1)

根据Dockerfile,当您运行docker build -t <imagename> .时,它将把当前目录中的所有文件复制到容器映像中。当您启动此容器时,它将寻找run.py

如果其中一个文件实际上是run.py,则说明您的部署yaml文件不正确,因为您将另一个PV装载到该目录,该目录将覆盖您之前复制的文件,并且该文件赢得了无法找到run.py

希望有帮助。