Konfigurasikan waktu penggusuran pod - AWS Bimbingan Preskriptif

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Konfigurasikan waktu penggusuran pod

Waktu penggusuran pod berguna saat merancang ketahanan di bidang kontrol atau skenario kegagalan Availability Zone. Selama pengujian kegagalan Availability Zone, di mana subnet kehilangan konektivitas jaringan, semua node Amazon EKS yang terkena dampak kehilangan konektivitas ke pesawat kontrol Amazon EKS. Dalam 1 menit, semua node Amazon EKS yang terkena dampak ditandai dengan NotReady status, dan titik akhir pod atau EndpointSlices telah dihapus dari titik akhir layanan. Namun, semua pod yang berjalan pada node yang terkena dampak tetap pada running status selama 5 menit default. Kemudian pod ditandai sebagaiTERMINATING, dan pod baru dijadwalkan.

pod-eviction-timeoutParameter di dalam Kubernetes Controller Manager diatur secara default pada 5 menit dan dapat diperbarui melalui bidang kontrol Kubernetes. Namun, karena Amazon EKS adalah layanan Kubernetes yang dikelola, tidak tersedia untuk pod-eviction-timeout dimodifikasi.

Untuk solusi, Anda dapat menggunakan penggusuran berbasis noda node. Ketika sebuah node turun atau kubelet berhenti memposting status, node akan tercemar dengan node.kubernetes.io/unreachable. Pod secara default mentolerir taint ini selama 5 menit, tetapi Anda dapat menggantinya dengan toleransi taint standar untuk waktu yang lebih atau kurang. Untuk menentukan durasi toleransi kustom, lampirkan kode yang menentukan node.kubernetes.io/not-ready nilai tolerationSeconds for node.kubernetes.io/unreachable dan untuk setiap penerapan. Kode berikut memberikan contoh:

apiVersion: apps/v1 kind: Deployment metadata: name: busybox namespace: default spec: replicas: 2 selector: matchLabels: app: busybox template: metadata: labels: app: busybox spec: tolerations: - key: "node.kubernetes.io/unreachable" operator: "Exists" effect: "NoExecute" tolerationSeconds: 2 - key: "node.kubernetes.io/not-ready" operator: "Exists" effect: "NoExecute" tolerationSeconds: 2 containers: - image: busybox command: - sleep - "3600" imagePullPolicy: IfNotPresent name: busybox restartPolicy: Always