当前位置: 首页 > news >正文

k8s集群3主5从高可用架构(kubeadm方式安装k8s)

在这里插入图片描述

关键步骤说明

  1. 环境准备阶段

    • 系统更新:所有节点执行yum/apt update确保软件包最新
    • 时间同步:通过ntpdate time.windows.com或部署NTP服务器
    • 网络规划:明确划分Service网段(默认10.96.0.0/12)和Pod网段(如Flannel使用10.244.0.0/16)
  2. 节点初始化细节

    • 关闭Swap分区:临时swapoff -a并永久注释/etc/fstab中的swap条目
    • 主机名配置:主节点命名为k8s-master{1,2,3},从节点命名为k8s-node{1-5}
    • sysctl配置:启用网桥过滤功能,执行sysctl --system生效
  3. 组件安装优化

    • Docker配置:使用阿里云镜像加速,修改/etc/docker/daemon.json
    • kubeadm版本控制:指定安装v1.18.0等稳定版本,避免使用edge版本
    • 启动kubelet:systemctl enable --now kubelet确保开机启动
  4. 控制平面初始化

    • 主节点1执行:
      kubeadm init \
      --apiserver-advertise-address=192.168.72.131 \
      --image-repository registry.aliyuncs.com/google_containers \
      --kubernetes-version v1.18.0 \
      --service-cidr=10.96.0.0/12 \
      --pod-network-cidr=10.244.0.0/16
      
    • 主节点2/3加入命令:
      kubeadm join 192.168.72.131:6443 \
      --token n0nyws.8j0mkjbfwk16adai \
      --discovery-token-ca-cert-hash sha256:xxx
      
  5. 网络插件部署

    • Calico安装:
      kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
      
    • 负载均衡配置示例(HAProxy):
      frontend k8s-apibind *:6443default_backend k8s-master-nodesbackend k8s-master-nodesbalance roundrobinserver master1 192.168.72.131:6443 checkserver master2 192.168.72.132:6443 checkserver master3 192.168.72.133:6443 check
      
  6. 安全与监控增强

    • RBAC配置:创建ServiceAccount并绑定ClusterRole
    • Pod安全策略:通过kubectl apply -f psp.yaml启用
    • 监控部署:使用kube-prometheus-stack Helm Chart安装

验证检查清单

  1. 节点状态检查:kubectl get nodes -o wide
  2. 组件状态检查:kubectl get pods -n kube-system
  3. 网络连通性测试:部署busybox Pod执行跨节点ping
  4. 高可用验证:模拟主节点故障,检查VIP漂移和服务连续性

该流程图在保持原有架构基础上,细化了环境准备、版本控制、网络配置、安全加固等生产环境关键要素,建议在实际部署时根据具体硬件配置和网络环境进行参数调整。

http://www.lryc.cn/news/542915.html

相关文章:

  • 基于 sklearn 的均值偏移聚类算法的应用
  • 三、大模型微调的多种方法与应用场景
  • 第2课 树莓派镜像的烧录
  • SQL之order by盲注
  • AI大模型(四)基于Deepseek本地部署实现模型定制与调教
  • java后端开发day19--学生管理系统升级
  • MFC文件和注册表的操作
  • vscode如何使用鼠标滚轮调整字体大小
  • C++之vector和list辨析
  • 冯诺依曼体系结构 ──── linux第8课
  • EX_25/2/22
  • rust安装教程以及git连接到远程仓库
  • Kafka系列之:记录一次源头数据库刷数据,造成数据丢失的原因
  • VC++零基础入门之系列教程 【附录E MFC快速参考指南】
  • 在CentOS 7下部署NFS的详细教程
  • LabVIEW C编译支持工具库CCompileSupp.llb
  • 【含文档+PPT+源码】基于微信小程序的农产品自主供销商城系统
  • MongoDB私人学习笔记
  • C++---了解STL
  • 智能自动化新纪元:AI与UiPath RPA的协同应用场景与技术实践
  • 2025年2月科技热点深度解析:AI竞赛、量子突破与开源革命
  • 计算机网络————(三)
  • 请谈谈 React 中的状态管理,如何使用 Context API 和 Redux 进行状态管理?
  • 【考研】复试相关上机题目
  • 利用机器学习实现实时交易欺诈检测
  • Modelfile配置说明
  • labview实现有符号位16进制转二进制补码转真值
  • 浏览器深度解析:打造极速、安全、个性化的上网新体验
  • JavaScript 简单类型与复杂类型-堆和栈
  • 【AI+智造】DeepSeek价值重构:当采购与物控遇上数字化转型的化学反应