# Node: 32Gi RAM total (100%)
#
# Memory allocation and thresholds visualization:
#
# Memory (Gi) % of total
# 32.00 (100%) ┌──────────────────────────────────────────────┐
# │ │
# 30.13 (94.2%)│ Safe working zone │ ← Allocatable: 30.13Gi (32 - 1 - 0.87)
# │ (26.93Gi) │
# │ (84.2%) │
# 20.00 (62.5%)│ │
# │ │
# │ │
# 10.00 (31.3%)│ │
# │ │
# 3.20 (10.0%)│- - - - - - - - - - - - - - - - - - - - - - │ ← Soft eviction starts (10% of total)
# │ Soft eviction zone │ ← 30s grace period
# 1.00 (3.1%) │━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━│ ← Hard eviction starts
# │ Hard eviction zone │
# 0.00 (0%) └──────────────────────────────────────────────┘ ← Node is "not ready" and "dead" (memory pressure)
#
# Reserved (total 1.87Gi, 5.8%):
# - system-reserved: 1Gi (3.1%) - OS & system daemons
# - kube-reserved: 893Mi ≈ 0.87Gi (2.7%) - k8s components
#
# Working ranges:
# - 30.13Gi - 3.2Gi: Safe working zone (26.93Gi, 84.2% usable)
# - 3.2Gi - 1Gi: Soft eviction zone (2.2Gi, 6.9%)
# - <1Gi (3.1%): Hard eviction zone (immediate pod killing)
# https://github.com/bottlerocket-os/bottlerocket/blob/develop/README.md#description-of-settings
[settings.kubernetes]
api-server = "${endpoint}"
cluster-certificate = "${cluster_auth_base64}"
cluster-name = "${cluster_name}"
pod-pids-limit = 1024
image-gc-high-threshold-percent = 85
image-gc-low-threshold-percent = 80
container-log-max-files = 50
container-log-max-size = "100Mi"
[settings.kubernetes.system-reserved]
cpu = "200m"
ephemeral-storage = "1Gi"
memory = "1Gi"
[settings.kubernetes.kube-reserved]
# memory_to_reserve = max_num_pods * 11 + 255
# memory_to_reserve = 58 * 11 + 255 = 638 + 255 = 893 MiB
memory = "893Mi"
[settings.kernel]
lockdown = "integrity"
[settings.host-containers.admin]
enabled = ${enable_admin_container}
[settings.host-containers.control]
enabled = ${enable_control_container}
[settings.kubernetes.eviction-hard]
"memory.available" = "1Gi"
"nodefs.available" = "20%"
"nodefs.inodesFree" = "5%"
"imagefs.available" = "15%"
[settings.kubernetes.eviction-soft]
"memory.available" = "10%"
[settings.kubernetes.eviction-soft-grace-period]
"memory.available" = "30s"
Тут, конечно же с телефона полная херня, но с ПК клиента все отлично.
#kubernetes