 获课:weiranit.fun/2865/
获课:weiranit.fun/2865/
获取ZY↑↑方打开链接↑↑
一、高可用集群架构设计
- 
	控制平面高可用 
- 
	部署 3 个以上控制节点(Master),通过 kubeadm初始化集群
- 
	使用 kubeadm init --control-plane-endpoint "lb.example.com:6443"指定负载均衡器地址
- 
	配置 kubeconfig文件指向负载均衡器
- 
	etcd 集群部署 收起 bash # 示例:3节点etcd集群配置kubeadm init phase etcd local --config=etcd-config.yaml 
- 
	启用 TLS 加密通信 
- 
	定期备份 etcd 数据(建议使用 etcdctl snapshot save)
- 
	网络层配置 收起 bash kubectl apply -f https://projectcalico.docs.tigera.io/manifests/calico.yamlkubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.13.7/config/manifests/metallb-native.yaml 
- 
	推荐使用 Calico + MetalLB(裸金属环境) 
- 
	配置 IPVS 模式负载均衡: 
二、实战部署步骤
- 
	准备工作 收起 bash swapoff -a && sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstabsetenforce 0 && sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config 
- 
	所有节点安装 Docker/kubelet/kubeadm 
- 
	关闭 Swap 和 SELinux 
- 
	初始化控制平面 收起 bash kubeadm init --config=kubeadm-config.yaml \--upload-certs \--apiserver-advertise-address=192.168.1.100 \--control-plane-endpoint "lb.example.com:6443" 
- 
	加入 Worker 节点 收起 bash kubeadm join lb.example.com:6443 --token <token> --discovery-token-ca-cert-hash <hash> 
三、运维最佳实践
- 
	自动伸缩配置 收起 bash helm install autoscaler autoscaler/cluster-autoscaler \--set cloudProvider=aws \--set autoDiscovery.clusterName=my-cluster 
- 
	启用 Cluster Autoscaler: 
- 
	监控与日志 收起 bash kubectl apply -f https://prometheus-operator.dev/operator.yamlkubectl apply -f https://prometheus-operator.dev/prometheus.yaml 
- 
	部署 Prometheus+Grafana: 
- 
	滚动更新策略 收起 yaml # 示例Deployment配置spec: strategy: rollingUpdate: maxUnavailable: 25% maxSurge: 25% 
四、故障处理与升级
- 
	节点故障恢复 收起 bash # 驱逐节点Podkubectl drain node01 --ignore-daemonsets# 维护完成后恢复kubectl uncordon node01 
- 
	版本升级流程 收起 bash # 控制平面升级kubeadm upgrade plankubeadm upgrade apply v1.27.3# Worker节点升级kubeadm upgrade node 
五、应用部署优化
- 
	资源配额管理 收起 yaml # 示例ResourceQuotaapiVersion: v1kind: ResourceQuotametadata: name: dev-quotaspec: hard: cpu: "10" memory: 20Gi 
- 
	网络策略配置 收起 yaml apiVersion: networking.k8s.io/v1kind: NetworkPolicymetadata: name: allow-webspec: podSelector: matchLabels: app: web ingress: - from: - podSelector: matchLabels: app: api 
六、安全增强措施
- 
	RBAC 配置 收起 bash kubectl create rolebinding dev-admin-binding \--role=admin \--user=dev-user 
- 
	镜像安全扫描 收起 bash trivy image --exit-code 1 --severity HIGH myapp:latest 
注意事项
- 
	确保负载均衡器(如 HAProxy)配置健康检查 
- 
	定期轮换 kubeconfig 证书(使用 kubeadm certs renew)
- 
	生产环境建议使用云厂商托管 Kubernetes 服务(如阿里云 ACK) 
建议结合具体场景选择网络插件(如 Cilium 增强安全)和存储方案(如 Longhorn 本地存储)。遇到问题时可通过
kubectl describe
和
journalctl -u kubelet
进行诊断。

