Thực tế là toàn bộ không gian (/
) hiển thị với bạn không có nghĩa là không gian có sẵn/có thể phân bổ.
Kubelet
sẽ theo dõi việc sử dụng bộ lưu trữ tạm thời của bạn vỏ
và hành động phù hợp (bằng cách trục xuất vỏ
đã vượt quá giới hạn):
Quản lý tiêu thụ lưu trữ tạm thời
Nếu kubelet đang quản lý bộ lưu trữ tạm thời cục bộ dưới dạng tài nguyên, thì kubelet sẽ đo mức sử dụng bộ nhớ trong:
trốngDir
khối lượng, ngoại trừ tmpfs trốngDir
tập
- thư mục chứa nhật ký cấp nút
- các lớp chứa có thể ghi
Nếu một Pod đang sử dụng nhiều dung lượng lưu trữ tạm thời hơn mức bạn cho phép, thì kubelet sẽ đặt tín hiệu trục xuất kích hoạt quá trình trục xuất Pod.
-- Kubernetes.io: Tài liệu: Khái niệm: Cấu hình: Quản lý vùng chứa tài nguyên: Mức tiêu thụ bộ nhớ tạm thời của tài nguyên
Mời các bạn xem qua ví dụ bên dưới:
Giả sử rằng bạn có một người theo dõi vỏ
rõ ràng:
phiên bản api: v1
loại: Vỏ
metadata:
tên: nginx
thông số kỹ thuật:
hộp đựng:
- tên: nginx
hình ảnh: nginx
tài nguyên:
yêu cầu:
lưu trữ tạm thời: "2Gi"
Hạn mức:
lưu trữ tạm thời: "4Gi"
Giới hạn được định cấu hình cho lưu trữ tạm thời là 4Gi
. Để kiểm tra điều gì sẽ xảy ra, bạn có thể chạy:
kubectl exec -it nginx -- fallocate -l 10GB /evict.img
Một lưu ý phụ!
ngụy biện
được sử dụng để thao tác không gian đĩa được phân bổ cho một tệp, để phân bổ lại hoặc phân bổ trước cho nó.
-- Man7.org: Linux: Trang người đàn ông: Fallocate
Sau một thời gian, bạn sẽ thấy:
$ kubectl mô tả nhóm nginx
Tên: nginx
Không gian tên: mặc định
Ưu tiên: 0
Nút: XYZ
Thời gian bắt đầu: Thứ hai, ngày 05 tháng 7 năm 2021 09:47:08 +0200
Nhãn: <không có>
Chú thích: <không có>
Trạng thái: Không thành công # <-- QUAN TRỌNG!
Lý do: Bị trục xuất # <-- QUAN TRỌNG!
Thông báo: Mức sử dụng bộ nhớ cục bộ tạm thời của nhóm vượt quá tổng giới hạn của vùng chứa 4Gi. # <-- QUAN TRỌNG!
<- ĐÃ GIẤU -->
Hạn mức:
ephemeral-storage: 4Gi # <-- QUAN TRỌNG!
yêu cầu:
lưu trữ tạm thời: 2Gi
<- ĐÃ GIẤU -->
Sự kiện:
Nhập Lý do Tuổi từ Tin nhắn
---- ------ ---- ---- -------
Trình lập lịch trình mặc định 32s được lên lịch bình thường Đã gán thành công mặc định/nginx cho XYZ
Kéo bình thường 31 giây kubelet Kéo hình ảnh "nginx"
Đã kéo bình thường kubelet 31 giây Đã kéo thành công hình ảnh "nginx" trong 360.098619ms
Đã tạo bình thường 31 giây kubelet Đã tạo vùng chứa nginx
Bắt đầu bình thường 31s kubelet Bắt đầu container nginx
Cảnh báo Evicted 3s kubelet Pod Việc sử dụng bộ nhớ cục bộ tạm thời vượt quá tổng giới hạn của vùng chứa 4Gi. # <-- QUAN TRỌNG!
Normal Killing 3s kubelet Dừng container nginx # <-- QUAN TRỌNG!
TÊN TÌNH TRẠNG SẴN SÀNG KHỞI ĐỘNG LẠI TUỔI
nginx 0/1 Bị trục xuất 0 9m7s
Tài nguyên bổ sung: