Bu konu, Kubernetes senaryolarında geçici depolama alanı yetersiz kalan pod'ların nasıl otomatik olarak tahliye edileceğini açıklar. Bu sayede iş süreçlerinizin sorunsuz çalışması için yeterli geçici depolama alanı korunur.
Yapılandırma açıklaması
Varsayılan olarak Elastic Container Instance tabanlı bir pod'un geçici depolama alanı yetersiz kaldığında sistem bu duruma müdahale etmez. Pod'un geçici depolama alanının yetersiz kalması iş süreçlerinizi etkileyebilir. Elastic Container Instance; Kubernetes'in tahliye ve zamanlama mekanizmalarına dayanarak k8s.aliyun.com/eci-eviction-enable: "true" ek açıklamasını (annotation) eklemenize olanak tanır. Bir pod'un geçici depolama alanı 100 MiB'den az olduğunda sistem pod'u otomatik olarak tahliye eder. Pod'un durumu Failed (Başarısız) olarak değişir.
Ek açıklamaları pod yapılandırma dosyasındaki metadata bölümüne eklemelisiniz. Örneğin bir Deployment oluştururken ek açıklamaları spec.template.metadata bölümüne ekleyin.
Elastic Container Instance ile ilgili ek açıklamalar yalnızca pod oluşturulurken uygulanır. Mevcut bir pod üzerinde bu ek açıklamaları eklemek veya değiştirmek etkili olmaz.
İş uygulamalarını genellikle Deployment'lar üzerine dağıtırsınız. Tahliye edilecek pod bir Deployment tarafından yönetiliyorsa Deployment otomatik olarak yeni bir pod oluşturur. Aşağıdaki şekilde bu durum gösterilmiştir. 
Yapılandırma örneği
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" # Specifies to automatically evict pods whose temporary storage spaces are insufficient.
labels:
app: nginx
alibabacloud.com/eci: "true"
spec:
containers:
- name: nginx
image: registry.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2