k8s集群搭建
1. 准备2台虚拟机,2G内存,2核CPU,硬盘40G,通过vmware安装,先安装1台完成后克隆1台。
192.168.183.132 k8s-1 主
192.168.183.138 k8s-2 从
2. 修改主机名、关闭每台虚拟机防火墙和seLinux,防止干扰k8s运行,最好清除iptables规则
hostnamectl set-hostname k8s-1
# 关闭防火墙并且设置开机不启动
systemctl stop firewalld
systemctl disable firewalld
# 直接修改文件,改为SELINUX=disabled,重启之后生效
vim /etc/selinux/config
# 清除iptables规则
iptables -F
3. 关闭交换分区(k8s1.8版本以上要求必须关闭)以提升性能、修改/etc/hosts文件
# 临时关闭
swapoff -a
# 修改/etc/fstab文件永久关闭,将文件中/dev/mapper/centos-swap swap行注释即可,也可以直接运行下面这条命令
sed -i '/swap/ s/^\(.*\)$/#\1/g' /etc/fstab
# 直接运行下面的命令,记得将IP地址修改为自己机器的IP地址,主机名字也换成自己的
cat >> /etc/hosts << EOF
192.168.183.132 k8s-1
192.168.183.138 k8s-2
EOF
4. 加载模块br_netfilter(和网络通信有关)
cat >> /etc/modules-load.d/k8s.conf << EOF
> br_netfilter
> EOF
# 重启
systemctl restart systemd-modules-load.service
5. 修改内核参数以满足k8s的运行需求,运行下面的命令
cat <<EOF >> /etc/sysctl.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_nonlocal_bind = 1
net.ipv4.ip_forward = 1
vm.swappiness=0
EOF
# 重新加载系统参数配置,让上面的修改生效
sysctl -p
6. 安装docker,安装1.23以下的版本,然后k8s1.23版本支持的最新docker是20.10。
#安装工具包
yum install -y yum-utils
#可以使用阿里云镜像替换官方源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 指定版本安装docker
yum install -y docker-ce-20.10.0 docker-ce-cli-20.10.0 containerd.io
# 开启docker服务
systemctl start docker
# 设置开机启动
systemctl enable docker
# 配置Docker使用systemd作为默认Cgroup驱动,配置之后需要重启docker
cat <<EOF > /etc/docker/daemon.json
{
"registry-mirrors": [
"http://hub-mirror.c.163.com",
"https://docker.mirrors.ustc.edu.cn",
"https://registry.docker-cn.com"
],
"exec-opts": ["native.cgroupdriver=systemd"]
}
EOF
#重启docker
systemctl restart docker
7. 安装k8s
# 添加k8s yum源
# 安装kubeadm,kubelet,kubectl(指定版本)
yum install -y kubelet-1.23.6 kubeadm-1.23.6 kubectl-1.23.6
# 设置kubelet开机自启动
systemctl enable kubelet
# 安装CoreDNS容器(k8s集群运行时需要CoreDNS提供DNS解析服务)
# 拉取镜像
docker pull coredns/coredns:1.8.4
# 将镜像改名
docker tag coredns/coredns:1.8.4 registry.aliyuncs.com/google_containers/coredns:v1.8.4
8. 克隆第二个节点 k8s-2,修改host,参考前面步骤
8. master节点初始化 以下操作在master节点进行
# 记得改变IP,只要改第一行的IP地址,一般改为master节点地址
kubeadm init \
--apiserver-advertise-address=192.168.183.132 \
--image-repository registry.aliyuncs.com/google_containers \
--service-cidr=10.1.0.0/16 \
--pod-network-cidr=192.168.0.0/16
在其它节点执行:
# 初始化kubectl,以使用kubectl管理集群(提示结果里面有这一步,可以仔细看一下)
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
# 下载calico.yaml配置文件,文章结尾提供下载链接
kubectl apply -f calico.yaml
查看k8s节点 kubectl get node
查看k8s状态 systemctl status kubelet
查看k8s日志 journalctl -xefu kubelet
9. 从节点加入主节点,在192.168.183.138虚拟机上面执行。
复制192.168.183.132 /etc/kubernetes/admin.conf 到 192.168.183.138
通过rz,sz命令 下载、上传。
初始化kubectl,以使用kubectl管理集群(提示结果里面有这一步,可以仔细看一下)
mkdir -p $HOME/.kube
sudo cp -i /home/xiaozw/test/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
kubectl get nodes
完成
配置文件下载 calico.yaml
链接:https://pan.baidu.com/s/1M_Qa4TdOGOJySsoYhtV-oQ
提取码:ev90
参考资料:
https://blog.csdn.net/m0_51720581/article/details/131153894
https://blog.csdn.net/Myx74270512/article/details/130525568
https://blog.csdn.net/hgswsdn/article/details/120862027
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性