不同局域网内的多台服务器组建k8s集群

本文记录了一位博主在不同局域网内的两台服务器(一台学校服务器,一台腾讯云服务器)上搭建k8s集群的过程。关键步骤包括:环境准备,如修改主机名、关闭防火墙、调整时区;使用虚拟网卡实现节点间通信;安装docker;通过kubeadm创建master节点。在搭建过程中,博主遇到了节点通信问题,通过启用ipvs和设置虚拟IP解决了问题。
摘要由CSDN通过智能技术生成

为了学习k8s,想先搭个集群玩一下,没想到这一搭就是3天,还没有完全完善,先把前面的步骤给记录一下以免忘记。

由于我是一台学校内的自己建的服务器,一台是购买的腾讯云的服务器,因此不在同一个局域网内,节点之间无法直接通信,给搭建带来了许多麻烦,参考了N多文章总结出下述版本。

1.设备准备

两台服务器,均是2核、4G内存以上配置,一台ubuntu16系统,一台ubuntu18系统。默认都在root模式下,sudo su开启。

2.环境准备

2.1内核参数调整(还没研究作用)

cat > k8s.conf <<EOF
#开启网桥模式
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
#开启转发
net.ipv4.ip_forward = 1
##关闭ipv6
net.ipv6.conf.all.disable_ipv6=1
EOF
cp k8s.conf /etc/sysctl.d/k8s.conf
sysctl -p /etc/sysctl.d/k8s.conf

2.2修改主机名

vi /etc/hostname
vi /etc/hosts
#其中每一台服务器都需要修改,并且要把所有的hostip hostname数据对都写入hosts文件中
#其中hostip如果是内网的话,就写各自服务器对应的内网ip,如果是跨局域网连接,这里可能要写对应的公网ip

2.3关闭防火墙、swap分区

# 为了方便本操作关闭了防火墙,也建议你这样操作
systemctl stop firewalld
systemctl disable firewalld

# 关闭 SeLinux
setenforce 0
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config

# 临时关闭 swap
swapoff -a
#开启
swapoff -a
#永久关闭
# 用vi修改/etc/fstab文件,在swap分区这行前加 # 禁用掉,保存退出
vi /etc/fstab

2.4调整时区一致

timedatectl status #检查所有节点的时区时间是否一致,如果不一致可以执行下列命令

# 设置系统时区为 中国/上海
timedatectl set-timezone Asia/Shanghai
# 将当前的UTC时间写入硬件时钟
timedatectl set-local-rtc 0
# 重启依赖于系统时间的服务
systemctl restart rsyslog
systemctl restart cron

2.5日志服务设置

默认有两个日志服务,使用journald关闭rsyslogd

mkdir /var/log/journal # 持久化保存日志的目录
mkdir /etc/systemd/journald.conf.d
cat > /etc/systemd/journald.conf.d/99-prophet.conf <<EOF
[Journal]
# 持久化
Storage=persistent

# 压缩历史日志
Compress=yes

SysnIntervalSec=5m
RateLimitInterval=30s
RateLimitBurst=1000

# 最大占用空间 10G
SystemMaxUse&
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值