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漂移和服务连续性

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

相关推荐
骑着蜗牛撵大象32722 分钟前
语音变分录、规则挡幻觉:拆解开源 AI 记账系统 Smart Ledger 的全栈设计
人工智能·ai·架构·js·数据校验
AI办公探索者3 小时前
从“岗位为中心”到“任务为中心”:企业级Agent Hub的架构演进
人工智能·架构
阡陌数智4 小时前
Mistral Large 4 深度拆解:细粒度 MoE 架构与安全 Agent 工程实战
安全·架构
forest_094 小时前
Agent 系列 21|部署、发布与运维:把 Agent 变成一个能上线、能放量、能撤回的服务
人工智能·机器学习·架构·prompt·agi
用户127653018145 小时前
规则引擎优先、模型兜底:我把三个流程做成接口后的取舍
架构
IT小小猪6 小时前
从零搭建K8s 集群
云原生·容器·kubernetes
海宇服务6 小时前
零信任架构实战:基于海宇风控经营异常预警构建自动化央企物资采购供应商资信排查网关
运维·人工智能·架构·自动化
吴声子夜歌7 小时前
Docker入门与实战——热门镜像介绍
运维·docker·容器
方便面不加香菜7 小时前
容器虚拟化基础--CGroups资源控制
运维·docker·容器
加宝的起点雷达7 小时前
多个 AI 编程代理之间,上下文怎么共享:三类做法和三个坑
人工智能·架构