ephemeral-storage

因为ephemeral-storage在k8s 到当前版本(1.8)都是alpha,ephemeral-storage功能默认是不启用的,如果你想使用ephemeral-storage功能需要,你在apiserver,kubelet的args中配置(–feature-gates=LocalStorageCapacityIsolation=true)重启进程就可以使用啦,ephemeral-storage可以很多资源中使用,下面我只拿pod进行测试和使用,如了解更多请点开这里写链接内容

ephemeral-storage的eviction逻辑

  • EmptyDir 的使用量超过了他的 SizeLimit,那么这个 pod 将会被驱逐
  • Container 的使用量(log,如果没有 overlay 分区,则包括 imagefs)超过了他的 limit,则这个 pod 会被驱逐
  • Pod 对本地临时存储总的使用量(所有 emptydir 和 container)超过了 pod 中所有container 的 limit 之和,则 pod 被驱逐
  • 映射数据到本地
apiVersion: V1
kind: pod
metadata:
   name: foo
spec:
   containers:
   - name: fooa
     resources:
       requests: 
           ephemeral-storage: "2Gi"
       limits:
           ephemeral-storage: "3Gi"
     volumeMounts:
       name: myEmptyDir
          mountPath: /data
   volumes:
     name: myEmptyDir
       emptyDir:
          sizeLimit: "1Gi"
  • 不映射数据到本地
apiVersion: V1
kind: pod
metadata:
   name: foo
spec:
   containers:
   - name: fooa
     resources:
       requests: 
           ephemeral-storage: "2Gi"
       limits:
           ephemeral-storage: "3Gi"
Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐