Kubernetes Pod удален из-за давления на диск - PullRequest
1 голос
/ 07 мая 2020

У меня есть среда k8s с одним главным и двумя подчиненными узлами. В одном из узлов работают два модуля (предположим, что модуль A и модуль B), и в нем модуль A был удален из-за давления на диск, но другой модуль B работал в том же узле без удаления. Несмотря на то, что я проверил ресурсы узла (оперативная память и дисковое пространство), достаточно места доступно. Также я проверил элемент docker с помощью «docker system df», там показано, что восстанавливаемое пространство составляет 48% для изображений, а все остальное - 0%. Итак, наконец-то я удалил все выселенные модули модуля B, теперь он работает нормально.

1) Когда модуль B работает на том же узле, почему модуль A был удален?

2) Почему модуль B выселяется при наличии достаточных ресурсов?

apiVersion: datas/v1
kind: Deployment
metadata:
  annotations:
    kompose.cmd: kompose convert
    kompose.version: 1.17.0 (0c01409)
  creationTimestamp: null
  labels:
    io.kompose.service: zuul
  name: zuul
spec:
  progressDeadlineSeconds: 2145893647
  replicas: 1
  revisionHistoryLimit: 2145893647
  selector:
    matchLabels:
      io.kompose.service: zuul
  strategy:
    type: Recreate
  template:
    metadata:
      creationTimestamp: null
      labels:
        io.kompose.service: zuul
    spec:
      containers:
      - env:
        - name: DATA_DIR
          value: /data/work/
        - name: log_file_path
          value: /data/work/logs/zuul/
        - name: spring_cloud_zookeeper_connectString
          value: zoo_host:5168
        image: repository/zuul:version
        imagePullPolicy: Always
        name: zuul
        ports:
        - containerPort: 9090
          hostPort: 9090
          protocol: TCP
        resources: {}
        terminationMessagePath: /dev/termination-log
        terminationMessagePolicy: File
        volumeMounts:
        - mountPath: /data/work/
          name: zuul-claim0
      dnsPolicy: ClusterFirst
      hostNetwork: true
      nodeSelector:
         disktype: node1
      imagePullSecrets:
      - name: regcred
      restartPolicy: Always
      schedulerName: default-scheduler
      securityContext: {}
      terminationGracePeriodSeconds: 30
      volumes:
      - hostPath:
          path: /opt/DATA_DIR
          type: ""
        name: zuul-claim0
status: {}
apiVersion: apps/v1
kind: Deployment
metadata:
  annotations:
    kompose.cmd: kompose convert
    kompose.version: 1.17.0 (0c01409)
  creationTimestamp: null
  labels:
    io.kompose.service: routing
  name: routing
spec:
  progressDeadlineSeconds: 2148483657
  replicas: 1
  revisionHistoryLimit: 2148483657
  selector:
    matchLabels:
      io.kompose.service: routing
  strategy:
    type: Recreate
  template:
    metadata:
      creationTimestamp: null
      labels:
        io.kompose.service: routing
    spec:
      containers:
      - env:
        - name: DATA_DIR
          value: /data/work/
        - name: log_file_path
          value: /data/logs/routing/
        - name: spring_cloud_zookeeper_connectString
          value: zoo_host:5168
        image: repository/routing:version
        imagePullPolicy: Always
        name: routing
        ports:
        - containerPort: 8090
          hostPort: 8090
          protocol: TCP
        resources: {}
        terminationMessagePath: /dev/termination-log
        terminationMessagePolicy: File
        volumeMounts:
        - mountPath: /data/work/
          name: routing-claim0
      dnsPolicy: ClusterFirst
      hostNetwork: true
      nodeSelector:
         disktype: node1
      imagePullSecrets:
      - name: regcred
      restartPolicy: Always
      schedulerName: default-scheduler
      securityContext: {}
      terminationGracePeriodSeconds: 30
      volumes:
      - hostPath:
          path: /opt/DATA_DIR
          type: ""
        name: routing-claim0
status: {}
...