在CentOS上部署和优化Kubernetes(k8s)集群的资源,可以从多个方面入手,包括节点配额和内核参数调整、etcd数据库优化、Kube APIServer配置、Pod配置、网络调优、存储调优等。以下是详细的优化步骤和建议:
fs.file-max:增加系统级别的文件句柄数量。net.ipv4.neigh.default.gc_thresh1、net.ipv4.neigh.default.gc_thresh2、net.ipv4.neigh.default.gc_thresh3:优化ARP缓存大小。net.netfilter.nf_conntrack_max:增加允许的最大跟踪连接条目。net.core.netdev_max_backlog:增加每个网络接口接收数据包的最大数目。--quota-backend-bytes增大etcd的存储限制。--max-requests-inflight=3000和--max-mutating-requests-inflight=1000。--max-requests-inflight=1500和--max-mutating-requests-inflight=500。resources.limits.cpu和resources.requests.cpu,以及resources.limits.memory和resources.requests.memory。net.ipv4.tcp_tw_reuse:允许将TIME_WAIT连接重新用于新的TCP连接。net.core.somaxconn:增加socket监听(listen)的backlog上限。fs.file-max:增加系统最大文件句柄数。noop或deadline,以提高磁盘性能。/etc/docker/daemon.json文件,设置native.cgroupdriversystemd等参数,优化Docker的资源管理。通过上述优化措施,可以显著提升CentOS上Kubernetes集群的资源利用率和性能。具体的配置参数可能需要根据实际的集群规模、网络环境和性能需求进行调整。在进行优化之前,建议先备份原始配置和数据,以便在出现问题时能够快速恢复。