全部產品
Search
文件中心

Elastic Container Instance:設定自動驅逐臨時儲存空間不足的Pod

更新時間:Jul 06, 2024

本文介紹在Kubernetes叢集中,如何設定自動驅逐臨時儲存空間不足的ECI Pod,避免因Pod臨時儲存空間不足而影響業務運行。

配置說明

預設情況下,當ECI Pod的臨時儲存空間不足時,系統不會做任何處理,可能會影響業務運行。基於Kubernetes的驅逐和調度機制,ECI支援為Pod添加k8s.aliyun.com/eci-eviction-enable: "true"的Annotation,實現在某一ECI Pod的臨時儲存空間不足(低於100 MiB)時,自動驅逐該Pod(Pod的狀態將變更為Failed)。

重要
  • Annotation請添加在Pod的metadata下,例如:建立Deployment時,Annotation需添加在spec>template>metadata下。

  • 僅支援在建立ECI Pod時添加ECI相關Annotation來生效ECI功能,更新ECI Pod時添加或者修改ECI相關Annotation均不會生效。

一般情況下,業務應用部署在Deployment上。如果被驅逐的Pod由Deployment管理,Deployment會自動建立新的Pod,如下圖所示。驅逐

配置樣本

apiVersion: apps/v1
kind: Deployment
metadata:
  name: test
  labels:
    app: nginx
spec:
  replicas: 4
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      name: nginx-test
      annotations:
        k8s.aliyun.com/eci-eviction-enable: "true"     #設定自動驅逐臨時儲存空間不足的Pod
      labels:
        app: nginx
        alibabacloud.com/eci: "true" 
    spec:
      containers:
      - name: nginx
        image: registry.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2