kubeadm部署k8s集群,版本1.23.6;并设置calico网络BGP模式通信,版本v3.25--未完待续

1.集群环境创建

三台虚拟机,一台master节点,两台node节点

(根据官网我们知道k8s 1.24版本之后就需要额外地安装cri-dockerd作为桥接才能使用Docker Egine。经过尝试1.24后的版本麻烦事很多,所以此处我们选择1.23.6版本)

虚拟机环境创建参考另一篇vmware创建虚拟机

2.集群环境初始化

配置centos7的yum源

csharp 复制代码
cd /etc/yum.repos.d 
mkdir repo_bak
mv *.repo repo_bak/
#下载阿里的CentOS-Base.repo 到/etc/yum.repos.d/
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
#清空缓存
yum clean all 
#生成新的缓存
yum makecache 
#安装EPEL源
yum install -y epel-release 
#再次运行yum clean all 清除缓存,运行 yum makecache 生成新的缓存
yum clean all 
yum makecache 

初始操作(所有host都需要执行)

csharp 复制代码
# 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld

# 关闭selinux
sed -i 's/enforcing/disabled/' /etc/selinux/config  # 永久
setenforce 0  # 临时

# 关闭swap
swapoff -a  # 临时
sed -ri 's/.*swap.*/#&/' /etc/fstab    # 永久

# 关闭完swap后,一定要重启一下虚拟机!!!
# 根据规划设置主机名 !!!(这里三台虚拟机需要分别设置不同的hostname,任选一个作为master)
# 例:在110上执行hostnamectl set-hostname master,其他主机类似
hostnamectl set-hostname <hostname>  

# 在master添加hosts
cat >> /etc/hosts << EOF
192.168.59.110 k8s-master
192.168.59.111 k8s-node1
192.168.59.112 k8s-node2
EOF


# 将桥接的IPv4流量传递到iptables的链
cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF

sysctl --system  # 生效


# 时间同步
yum install ntpdate -y
ntpdate time.windows.com

安装docker

踩坑形安装如下:直接添加docker镜像源安装,结果最后导致docker版本过高,部署k8s的时候报错。

csharp 复制代码
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum makecache fast
yum -y install docker-ce
service docker start
docker version

3.kubeadm部署k8s

4.部署calico网络插件

相关推荐
菜包eo10 分钟前
二维码驱动的独立站视频集成方案
网络·python·音视频
yzx99101328 分钟前
关于网络协议
网络·人工智能·python·网络协议
zsq1 小时前
【网络与系统安全】域类实施模型DTE
网络·安全·系统安全
GLAB-Mary3 小时前
OSPF虚拟链路术语一览:快速掌握网络路由
网络·智能路由器
tan77º3 小时前
【Linux网络编程】网络基础
linux·服务器·网络
IT成长日记4 小时前
【Docker基础】Docker数据卷管理:docker volume inspect及其参数详解
运维·docker·容器·volume·inspect
伤不起bb4 小时前
Kubernetes 服务发布基础
云原生·容器·kubernetes
ladymorgana4 小时前
【Docker】如何设置 `wiredTigerCacheSizeGB` 和 `resources.limits.memory`
运维·docker·容器
mcdx4 小时前
基于Docker构建OrangePi5 SDK环境
docker·容器
bing_1584 小时前
MQTT 和 HTTP 有什么本质区别?
网络·网络协议·http