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执行:

      bash 复制代码
      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加入命令:

      bash 复制代码
      kubeadm join 192.168.72.131:6443 \
      --token n0nyws.8j0mkjbfwk16adai \
      --discovery-token-ca-cert-hash sha256:xxx
  5. 网络插件部署

    • Calico安装:

      bash 复制代码
      kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
    • 负载均衡配置示例(HAProxy):

      conf 复制代码
      frontend k8s-api
        bind *:6443
        default_backend k8s-master-nodes
      
      backend k8s-master-nodes
        balance roundrobin
        server master1 192.168.72.131:6443 check
        server master2 192.168.72.132:6443 check
        server 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漂移和服务连续性

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

相关推荐
我是谁??4 分钟前
【4】基于 Docker + YOLOv8 环境将模型转换为 ONNX(GTX1660S + Ubuntu22.04)
yolo·docker·容器
万里侯8 分钟前
云原生API网关:管理微服务流量的最佳实践
微服务·容器·k8s
李李李li8 分钟前
debian13.3安装k8s
云原生·容器·kubernetes
blue_dou12 分钟前
2026主流CRM对比:工贸业财融合一体化选型解析
架构·逻辑回归·流程图
大江东去浪淘尽千古风流人物18 分钟前
【Polaris-VIO】Docker 镜像跨硬件分发的隐藏陷阱:AVX-512、-march=native 与 CPU 指令集解耦边界
运维·docker·容器·slam·vio·avx-512
小新同学^O^21 分钟前
简单学习 --> Transformer架构
学习·架构·transformer
fengxin_rou23 分钟前
【Feed 高并发架构实战】:雪花 ID + 三级缓存 + 计数旁路设计详解
数据库·redis·缓存·架构·事务·并发
我是谁??23 分钟前
【3】基于 Docker + YOLOv8 环境实现模型裁剪(GTX1660S + Ubuntu22.04)
yolo·docker·容器
他们叫我阿冠25 分钟前
Docker的基础学习
学习·docker·容器
我是谁??25 分钟前
【2】基于 Docker + YOLOv8 环境实现模型蒸馏实战(GTX1660S + Ubuntu22.04)
yolo·docker·容器