すべてのプロダクト
Search
ドキュメントセンター

:一時ストレージ容量が不足しているPodの自動削除

最終更新日:Jan 14, 2025

このトピックでは、Kubernetesシナリオにおいて、一時ストレージ容量が不足しているPodを自動的に削除する方法について説明します。これにより、ビジネス運用に必要な一時ストレージ容量を確保できます。

構成の説明

デフォルトでは、Elastic Container InstanceベースのPodの一時ストレージ容量が不足している場合、システムはこの状況を処理しません。Podの一時ストレージ容量の不足は、ビジネスの運用に影響を与える可能性があります。Elastic Container Instanceでは、Kubernetesの削除およびスケジューリングメカニズムに基づいて、k8s.aliyun.com/eci-eviction-enable: "true" アノテーションを追加できます。Podの一時ストレージ容量が100 MiB未満の場合、システムはPodを自動的に削除します。PodのステータスはFailedに変わります。

重要
  • アノテーションは、Podの構成ファイルのメタデータに追加する必要があります。たとえば、Deploymentを作成する場合、spec.template.metadataセクションにアノテーションを追加する必要があります。

  • Elastic Container Instanceの機能を使用するには、Elastic Container InstanceベースのPodを作成するときにのみアノテーションを追加できます。Podの更新時にアノテーションを追加または変更しても、これらのアノテーションは有効になりません。

通常、ビジネスアプリケーションは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