kubeadm集群化部署多master节点(生产环境适用)

本文详细介绍了如何在生产环境中使用kubeadm部署多master节点的Kubernetes集群,确保高可用性。通过Keepalived + Haproxy实现master节点的健康检查和动态漂移,配置了3个master节点和1个worker节点,涉及hosts设置、ssh免密、集群前置工作、组件安装、网络插件配置等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、背景介绍

k8s通过master集中式管理worknode的容器编排系统,而在生产环境为了维护高可用性,master的地位起到举无轻重的作用。一旦master节点失守,则会导致整个集群服务不可用,因此配置多master集群在生产环境非常重要。

配置master集群,建议首先需要弄明白单节点master的k8s集群搭建,因为多master集群只是在单master集群的延伸。单节点master集群搭建详见:https://blog.youkuaiyun.com/wangqiubo2010/article/details/101203625

 

二、多master集群安排。

  • keepalived + haproxy + k8集群,其中keepalived 负责master节点的健康检查和动态漂移;haproxy负责动态均衡;即keepalived + haproxy 实现master高可用。
  • 本集群部署设置3个maser节点,1个worknode节点,其他worknode节点的扩容详见 https://blog.youkuaiyun.com/wangqiubo2010/article/details/113735285
  • 多master集群架构图。

  • 以下是本集群搭建的配置。
master集群搭建安排
hostName IP 配置 备注
k8svip 192.168.1.40 4G内存,2核2CPU,40G硬盘 虚拟VIP,其在keepalived中使用,非真实的虚拟机,其为master01、master02、master03提供统一的接口。
master01 192.168.1.32 4G内存,2核2CPU,40G硬盘 虚拟机,部署master01节点、keepalived、haproxy
master02 192.168.1.34 4G内存,2核2CPU,40G硬盘 虚拟机,部署master02节点、keepalived、haproxy
master03 192.168.1.35 4G内存,2核2CPU,40G硬盘 虚拟机,部署master03节点、keepalived、haproxy
worknode1 192.168.1.33   虚拟机,部署worknode1节点
keepalived 192.168.1.32、192.168.1.34、192.168.1.35   keepalived对master节点健康检查与动态漂移
haproxy 192.168.1.32、192.168.1.34、192.168.1.35   haproxy对master节点实行动态漂移

三、设置hosts及ssh免密。

1、设置hosts文件。master01、master02、master03、worknode1节点均需执行。

192.168.1.40 k8svip
192.168.1.32 master01
192.168.1.34 master02
192.168.1.35 master03
192.168.1.33 worknode1

# 解决github
199.232.4.133 raw.githubusercontent.com
199.232.68.133 raw.githubusercontent.com

 

2、设置免密。 以下代码在master01节点执行

#设置免登录
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa &> /dev/null
ssh-copy-id root@master01
ssh-copy-id root@master02
ssh-copy-id root@master03
ssh-copy-id root@worknode1

四、多master集群部署之前置工作。

说明:以下操作均需要在所有节点执行 master01、master02、mater03、worknode1 ......

1、k8s集群部署前置工作。可参考:https://blog.youkuaiyun.com/wangqiubo2010/article/details/101203625

      (1)、关闭防火墙、关闭防selinux、关闭swap(在3台机运行),以下shell文件 closeCompose.sh

#!/bin/bash
#关闭防火墙(在3台机运行)
systemctl stop firewalld && systemctl disable firewalld

#关闭selinux(在3台机运行)
sed -i 's/enforcing/disabled/' /etc/selinux/config && setenforce 0

#关闭swap(在3台机运行)
swapoff -a && sed -ri
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值