mirror of
https://github.com/kubernetes-sigs/kubespray.git
synced 2026-02-01 01:28:11 -03:30
Kubernetes Reliability Improvements
- Exclude kubelet CPU/RAM (kube-reserved) from cgroup. It decreases a chance of overcommitment - Add a possibility to modify Kubelet node-status-update-frequency - Add a posibility to configure node-monitor-grace-period, node-monitor-period, pod-eviction-timeout for Kubernetes controller manager - Add Kubernetes Relaibility Documentation with recomendations for various scenarios. Signed-off-by: Sergii Golovatiuk <sgolovatiuk@mirantis.com>
This commit is contained in:
@@ -18,6 +18,9 @@ kube_controller_memory_limit: 512M
|
||||
kube_controller_cpu_limit: 250m
|
||||
kube_controller_memory_requests: 170M
|
||||
kube_controller_cpu_requests: 100m
|
||||
kube_controller_node_monitor_grace_period: 40s
|
||||
kube_controller_node_monitor_period: 5s
|
||||
kube_controller_pod_eviction_timeout: 5m0s
|
||||
kube_scheduler_memory_limit: 512M
|
||||
kube_scheduler_cpu_limit: 250m
|
||||
kube_scheduler_memory_requests: 170M
|
||||
|
||||
@@ -28,6 +28,9 @@ spec:
|
||||
- --cluster-signing-cert-file={{ kube_cert_dir }}/ca.pem
|
||||
- --cluster-signing-key-file={{ kube_cert_dir }}/ca-key.pem
|
||||
- --enable-hostpath-provisioner={{ kube_hostpath_dynamic_provisioner }}
|
||||
- --node-monitor-grace-period={{ kube_controller_node_monitor_grace_period }}
|
||||
- --node-monitor-period={{ kube_controller_node_monitor_period }}
|
||||
- --pod-eviction-timeout={{ kube_controller_pod_eviction_timeout }}
|
||||
- --v={{ kube_log_level }}
|
||||
{% if cloud_provider is defined and cloud_provider in ["openstack", "azure"] %}
|
||||
- --cloud-provider={{cloud_provider}}
|
||||
|
||||
@@ -12,6 +12,7 @@ kube_proxy_masquerade_all: true
|
||||
# Limits for kube components and nginx load balancer app
|
||||
kubelet_memory_limit: 512M
|
||||
kubelet_cpu_limit: 100m
|
||||
kubelet_status_update_frequency: 10s
|
||||
kube_proxy_memory_limit: 2000M
|
||||
kube_proxy_cpu_limit: 500m
|
||||
kube_proxy_memory_requests: 256M
|
||||
|
||||
@@ -9,7 +9,10 @@ KUBELET_ADDRESS="--address={{ ip | default("0.0.0.0") }}"
|
||||
KUBELET_HOSTNAME="--hostname-override={{ ansible_hostname }}"
|
||||
|
||||
{# Base kubelet args #}
|
||||
{% set kubelet_args_base %}--pod-manifest-path={{ kube_manifest_dir }} --pod-infra-container-image={{ pod_infra_image_repo }}:{{ pod_infra_image_tag }}{% endset %}
|
||||
{% set kubelet_args_base %}--pod-manifest-path={{ kube_manifest_dir }} \
|
||||
--pod-infra-container-image={{ pod_infra_image_repo }}:{{ pod_infra_image_tag }} \
|
||||
--kube-reserved cpu={{ kubelet_cpu_limit }},memory={{ kubelet_memory_limit|regex_replace('Mi', 'M') }} \
|
||||
--node-status-update-frequency={{ kubelet_status_update_frequency }}{% endset %}
|
||||
|
||||
{# DNS settings for kubelet #}
|
||||
{% if dns_mode == 'kubedns' %}
|
||||
|
||||
Reference in New Issue
Block a user