Amonzon EKS Worker节点磁盘管理
查看当前节点kubelet配置参数
# 1,获取节点信息
kubectl get nodes
# 2,创建本地代理
kubectl proxy
# 3,获取相关参数
curl -sSL "http:/localhost:8001/api/v1/nodes/<nodename>/proxy/configz" |python3 -m json.tool
{
"kubeletconfig": {
"enableServer": true, #表示是否启用kubelet服务器。设置为true表示启用,false表示禁用。
"syncFrequency": "1m0s", #指定kubelet同步节点状态的频率。在这个例子中,它被设置为1分钟(1m0s)。
"fileCheckFrequency": "20s", #文件检查频率,即kubelet检查文件更改的频率。在这个例子中,它被设置为20秒(20s)。
"httpCheckFrequency": "20s", #HTTP检查频率,即kubelet检查HTTP服务可用性的频率。在这个例子中,它被设置为20秒(20s)
"address": "0.0.0.0", #定kubelet监听的IP地址。设置为0.0.0.0,表示kubelet将在所有网络接口上进行监听。
"port": 10250, #指定kubelet监听的端口号。在这个例子中,它被设置为10250,表示kubelet将在该端口上接收请求
"tlsCipherSuites": [ #定义TLS加密套件的列表,用于kubelet与其他组件之间的安全通信
"TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256",
"TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
"TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305",
"TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
"TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305",
"TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384",
"TLS_RSA_WITH_AES_256_GCM_SHA384",
"TLS_RSA_WITH_AES_128_GCM_SHA256"
],
"serverTLSBootstrap": true, #表示是否启用kubelet服务器的TLS引导。
"authentication": { #指定kubelet的身份验证配置。配置了使用X.509证书和Webhook进行认证。
"x509": {
"clientCAFile": "/etc/kubernetes/pki/ca.crt"
},
"webhook": {
"enabled": true,
"cacheTTL": "2m0s"
},
"anonymous": {
"enabled": false
}
},
"authorization": { #指定kubelet的授权配置。使用Webhook进行授权
"mode": "Webhook",
"webhook": {
"cacheAuthorizedTTL": "5m0s",
"cacheUnauthorizedTTL": "30s"
}
},
"registryPullQPS": 5, #定义kubelet从镜像仓库(registry)拉取镜像的请求每秒限制。
"registryBurst": 10, #定义kubelet从镜像仓库(registry)拉取镜像的请求数限制
"eventRecordQPS": 5, #定义kubelet记录事件的请求每秒限制
"eventBurst": 10, #定义kubelet记录事件的请求数限制
"enableDebuggingHandlers": true, #表示是否启用调试处理程序。
"healthzPort": 10248, #健康检查接口的监听端口
"healthzBindAddress": "127.0.0.1", #健康检查接口的绑定地址。
"oomScoreAdj": -999, #进程OOM分数调整
"clusterDomain": "cluster.local", #集群的域名。
"clusterDNS": [ # 集群的DNS服务器地址
"172.20.0.10"
],
"streamingConnectionIdleTimeout": "4h0m0s", #流式连接的空闲超时时间
"nodeStatusUpdateFrequency": "10s", #节点状态更新的频率
"nodeStatusReportFrequency": "5m0s",#节点状态报告的频率
"nodeLeaseDurationSeconds": 40, #节点租约的持续时间(以秒为单位)
"imageMinimumGCAge": "2m0s", #镜像最小垃圾回收年龄
"imageGCHighThresholdPercent": 85, #镜像垃圾回收的高阈值百分比。
"imageGCLowThresholdPercent": 80, #镜像垃圾回收的低阈值百分比。
"volumeStatsAggPeriod": "1m0s", #卷统计聚合周期
"cgroupRoot": "/", #cgroup根路径。
"cgroupsPerQOS": true, #是否为每个QoS类别使用独立的cgroup。
"cgroupDriver": "systemd", #cgroup驱动程序。
"cpuManagerPolicy": "none", #CPU管理策略。
"cpuManagerReconcilePeriod": "10s", #CPU管理调和周期。
"memoryManagerPolicy": "None", #内存管理策略。
"topologyManagerPolicy": "none", #拓扑管理策略。
"topologyManagerScope": "container",#拓扑管理范围。
"runtimeRequestTimeout": "2m0s", #运行时请求超时时间。
"hairpinMode": "hairpin-veth", #网桥模式
"maxPods": 35, #每个节点最大Pod数。
"podPidsLimit": -1, #Pod进程ID限制。
"resolvConf": "/etc/resolv.conf", #解析配置文件的路径。
"cpuCFSQuota": true, #是否启用CPU CFS配额
"cpuCFSQuotaPeriod": "100ms", # CPU CFS配额周期。
"nodeStatusMaxImages": 50, #节点状态中的最大镜像数。
"maxOpenFiles": 1000000, # 最大打开文件数
"contentType": "application/vnd.kubernetes.protobuf", #内容类型。
"kubeAPIQPS": 10, #Kube API的请求每秒限制
"kubeAPIBurst": 20, #Kube API的请求数限制
"serializeImagePulls": false, #是否串行化镜像拉取。
"evictionHard": { #驱逐策略中的硬性限制
"memory.available": "100Mi",
"nodefs.available": "10%",
"nodefs.inodesFree": "5%"
},
"evictionPressureTransitionPeriod": "5m0s", #驱逐压力转换周期。
"enableControllerAttachDetach": true, #是否启用控制器的附加和分离。
"protectKernelDefaults": true, #是否保护内核默认设置
"makeIPTablesUtilChains": true, #是否创建iptables实用程序链。
"iptablesMasqueradeBit": 14, #iptables伪装位
"iptablesDropBit": 15, # iptables丢弃位。
"featureGates": { #功能门控开关。
"KubeletCredentialProviders": true,
"RotateKubeletServerCertificate": true
},
"failSwapOn": true, #是否在交换空间不可用时失败
"memorySwap": {}, #内存和交换空间的配置
"containerLogMaxSize": "10Mi", #容器日志文件的最大大小。
"containerLogMaxFiles": 5, #容器日志文件的最大数量
"configMapAndSecretChangeDetectionStrategy": "Watch", #配置映射和密钥的更改检测策略。
"kubeReserved": { #kubelet保留的资源配置。
"cpu": "70m",
"ephemeral-storage": "1Gi",
"memory": "640Mi"
},
"systemReservedCgroup": "/system", #系统保留的cgroup路径。
"kubeReservedCgroup": "/runtime", #kubelet保留的cgroup路径。
"enforceNodeAllocatable": [ #强制节点可分配的资源。
"pods"
],
"volumePluginDir": "/usr/libexec/kubernetes/kubelet-plugins/volume/exec/", #卷插件目录的路径
"logging": { # 日志配置
"format": "text",
"flushFrequency": 5000000000,
"verbosity": 2,
"options": {
"json": {
"infoBufferSize": "0"
}
}
},
"enableSystemLogHandler": true, #是否启用系统日志处理程序
"shutdownGracePeriod": "0s", #关闭优雅等待时间。
"shutdownGracePeriodCriticalPods": "0s", #关闭优雅等待时间(对关键Pod)。
"enableProfilingHandler": true, #是否启用性能分析处理程序。
"enableDebugFlagsHandler": true, #是否启用调试标志处理程序。
"seccompDefault": false, #是否启用调试标志处理程序。
"memoryThrottlingFactor": 0.8, #内存限制因子。
"registerNode": true, #是否注册节点。
"localStorageCapacityIsolation": true #是否启用本地存储容量隔离。
}
}
参考文档
[Kubenetes垃圾回收]((https://kubernetes.io/docs/concepts/architecture/garbage-collection/#containers-images)