小伙伴们,今天给大家带来一份超详细的Kubernetes集群搭建教程,保证让你从环境准备到安装验证,一路畅通无阻!🚀
🌈 一、环境准备
首先,咱们得确保硬件和软件环境都达标哦!
💻 硬件要求:
至少2核CPU
2GB或以上内存
20GB或以上可用磁盘空间
两台主机(master和node)
网络互通,确保NodePort范围的端口开放
📱 操作系统:
CentOS Linux release 7.6.1810 (Core)
🚫 禁用Swap:
临时禁用:sudo swapoff -a
永久禁用:编辑/etc/fstab文件,删除swap相关的行
🛡️ 关闭防火墙和SELinux:
关闭防火墙:systemctl stop firewalld & systemctl disable firewalld
永久关闭SELinux:编辑/etc/selinux/config,将SELINUX=enforcing改为SELINUX=disabled
🔧 设置主机内核参数:
配置内核参数,加载系统参数文件,并运行modprobe br_netfilter,然后编辑/etc/sysctl.d/k8s.conf,添加以下内容:
text
Copy Code
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
最后,执行sysctl -p /etc/sysctl.d/k8s.conf
📡 设置主机名并配置hosts文件:
设置主机名:hostnamectl set-hostname k8s-master(以master节点为例)
配置hosts文件:确保节点之间可以通过主机名通信,添加如下内容:
text
Copy Code
192.168.40.15 k8s-master
192.168.40.16 k8s-node
🌈 二、安装Docker和containerd
Kubernetes需要Docker来运行容器化工作负载哦!
📦 安装Docker依赖包:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
🌐 配置docker-ce国内yum源:
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
📥 安装Docker和containerd:
sudo yum install -y docker-ce-20.10.17 docker-ce-cli-20.10.17 containerd.io
🎛️ 启动Docker并设置开机自启:
systemctl enable docker --now
🚀 配置Docker镜像加速器:
编辑/etc/docker/daemon.json,添加国内镜像源,如阿里云镜像源
📜 生成containerd的配置文件:
创建/etc/containerd目录
运行containerd config default > /etc/containerd/config.toml
修改配置文件,将SystemdCgroup = false改为SystemdCgroup = true,并将sandbox_image修改为阿里云镜像
📄 修改/etc/crictl.yaml文件:
配置crictl运行时端点和镜像端点,并重启containerd
🔧 配置containerd镜像加速器:
编辑/etc/containerd/config.toml,添加镜像加速配置
🌈 三、安装Kubernetes
终于到重头戏啦!使用kubeadm初始化Kubernetes集群!
📦 安装epel-release:
sudo yum install -y epel-release
🌐 添加Kubernetes仓库:
编辑/etc/yum.repos.d/kubernetes.repo,添加阿里云Kubernetes仓库
📥 安装kubeadm、kubelet和kubectl:
sudo yum install -y kubeadm-1.28.2-0 kubelet-1.28.2-0 kubectl-1.28.2-0
🎛️ 设置kubelet开机自启:
systemctl enable kubelet --now
🚀 初始化Kubernetes集群(Master节点):
执行kubeadm config print init-defaults > kubeadm.yaml生成配置文件
修改配置文件中的advertiseAddress、imageRepository等参数
执行kubeadm init --config=kubeadm.yaml --ignore-preflight-errors=SystemVerification初始化集群
📁 配置kubectl(Master节点):
复制/etc/kubernetes/admin.conf到$HOME/.kube/config
🤝 加入工作节点(Worker节点):
在Master节点上运行kubeadm token create --ttl=2h和kubeadm token create --print-join-command获取加入命令,然后在Worker节点上运行该命令加入集群
🌈 四、验证安装
最后,别忘了验证一下安装