以下是在CentOS上使用Kubernetes的实用技巧,涵盖部署、优化及管理等方面:
快速部署集群
kubeadm工具快速初始化Master节点:kubeadm init --apiserver-advertise-address=<master-ip> --pod-network-cidr=10.244.0.0/16
并通过kubectl apply -f部署网络插件(如Calico/Flannel)。kubeadm join命令加入集群。环境优化
iptables规则。合理分配资源
requests(最小资源)和limits(最大资源),避免资源争用。Horizontal Pod Autoscaler(HPA)根据CPU/内存使用率自动扩缩容。调度策略优化
节点亲和性(NodeAffinity)和反亲和性(PodAntiAffinity)控制Pod调度,例如将关键服务分散到不同节点。污点(Taint)和容忍度(Toleration)隔离特殊节点(如GPU节点)。网络配置
ClusterIP或NodePort,确保服务间通信稳定。存储管理
PersistentVolume(PV)和PersistentVolumeClaim(PVC)管理存储,结合动态存储供应(如NFS/Ceph)简化资源分配。组件调优
kubelet参数(如--image-gc-high-threshold)优化镜像管理,或切换kube-proxy至ipvs模式提升性能(适用于大规模集群)。--max-requests-inflight参数,提高并发处理能力。监控与日志
Prometheus+Grafana监控集群资源,结合ELK Stack集中管理日志,及时发现性能瓶颈。高可用部署
etcd集群(建议3节点)保障数据一致性。安全策略
Pod Security Policies(PSP)限制容器权限,或通过ServiceAccount控制访问权限。etcd快照),并制定回滚策略。参考来源:[1,2,3,4,5,6,7,8,9,10,11]