K8S高可用集群环境搭建

本教程详细介绍了如何在CentOS7环境下使用kubeadm搭建三主三从的Kubernetes高可用集群,涉及环境初始化、安装keepalived、haproxy、docker-ce和kubernetes组件,以及集群的初始化和验证。通过配置VIP和负载均衡,确保集群的稳定性和外部访问。

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

1.简介

本章节使用kubeadm搭建一套三主三从的高可用kubernetes集群。相比单master而言,多master更加有利于我们生产环境的稳定性。就算master节点宕机一台,我们依然有其他master节点保证我们的集群环境。多master节点需要依赖于keepalive还生成一个vip,也就是虚拟ip,做过nginx+keepalive的小伙伴们都知道,还需要一个haproxy来实现负载策略。

2.整体架构信息

Linux版本CentOS7,内核版本推荐4.10+(3.10有个kmem的bug)
Kubernetes 默认安装最新
网段配置:pod网段10.244.0.0/16service网段10.96.0.0/12

节点名称 角色 IP地址 安装组件
负载Vip Vip 192.168.3.100
master1 master 192.168.3.18 kubeadm、kubelet、kubectl、docker、haproxy、keepalived
master2 master 192.168.3.19 kubeadm、kubelet、kubectl、docker、haproxy、keepalived
master3 master 192.168.3.20 kubeadm、kubelet、kubectl、docker、haproxy、keepalived
node1 node 192.168.3.21 kubeadm、kubelet、kubectl、docker
node2 node 192.168.3.22 kubeadm、kubelet、kubectl、docker
node3 node 192.168.3.23 kubeadm、kubelet、kubectl、docker

3.环境初始化

3.1配置hosts文件

在每个主机上配置

cat >>/etc/hosts<<EOF
192.168.3.18 master1
192.168.3.19 master2
192.168.3.20 master3
192.168.3.21 node1
192.168.3.22 node2
192.168.3.23 node3
EOF

3.2关闭selinux和防火墙

sed -ri 's#(SELINUX=).*#\1disabled#' /etc/selinux/config
setenforce 0
systemctl disable firewalld
systemctl stop firewalld

3.3关闭swap

swapoff -a
sed -i 's/.*swap.*/#&/' /etc/fstab

3.4创建秘钥

在master1节点上创建秘钥,设置免密登录其他服务器,主要是为了后面的远程拷贝证书

ssh-keygen -t rsa

一路回车即可。
在这里插入图片描述

for n in `seq -w 2 3`;do ssh-copy-id master$n;done

3.5配置内核转发参数

cat <<EOF >  /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值