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

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

相关推荐
一条咸鱼_SaltyFish27 分钟前
[Day15] 若依框架二次开发改造记录:定制化之旅 contract-security-ruoyi
java·大数据·经验分享·分布式·微服务·架构·ai编程
Mr. Cao code38 分钟前
Docker数据管理:持久化存储最佳实践
java·docker·容器
早日退休!!!2 小时前
ARM A核、ARM M核、X86与RISC-V架构:寄存器作用及上下文处理差异报告
arm开发·架构·risc-v
Cyber4K2 小时前
【Kubernetes专项】DockerFile、数据持计划、网络模式及资源配额
运维·网络·云原生·容器·kubernetes
数说星榆1813 小时前
在线高清泳道图制作工具 无水印 PC
大数据·人工智能·架构·机器人·流程图
万岳科技系统开发3 小时前
开源跑腿系统源码整体架构解析:从下单到配送的完整流程
架构
Joren的学习记录3 小时前
【Linux运维疑难杂症】k8s集群创建calico网络失败
linux·运维·kubernetes
乾元3 小时前
现场运维机器人的工程化落地——移动探针采集 + AI 诊断,在真实网络中的实现路径
运维·网络·人工智能·架构·机器人·自动化
鲨莎分不晴3 小时前
Docker 网络深度解析:打破容器的“孤岛效应”
网络·docker·容器
Zsr10233 小时前
K8s核心组件Pod:基础篇
云原生·容器·kubernetes