所有节点统一前置操作(3 台机器全部执行)
# 1. 设置主机名 hostnamectl set-hostname k8s-master-01 # master-01节点执行 hostnamectl set-hostname k8s-worker-01 # worker-01节点执行 hostnamectl set-hostname k8s-worker-02 # worker-02节点执行# 2. 编辑hosts,所有节点统一写入 cat >> /etc/hosts << EOF 172.29.128.1 k8s-master-01 172.29.132.68 k8s-worker-01 172.29.132.69 k8s-worker-02 EOF# 3. 关闭swap永久生效 swapoff -a sed -i '/swap/s/^/#/' /etc/fstab# 4. 内核参数加载ipvs、iptables转发 modprobe overlay modprobe br_netfiltercat >> /etc/sysctl.d/k8s.conf << EOF net.bridge.bridge-nf-call-iptables = 1 net.bridge.bridge-nf-call-ip6tables = 1 net.ipv4.ip_forward = 1 EOF sysctl --system# 5. 关闭ufw防火墙 systemctl stop ufw systemctl disable ufw
# 6. 允许 root SSH 登录
sed -i 's/^#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config
systemctl restart sshd
# 7. 安装基础依赖 apt update && apt install -y curl wget openssh-server socat conntrack ipset ntpdate
ntpdate ntp.aliyun.com
Master节点配置免密 ssh(master 能免密登录其它 worker)
ssh-keygen -t ed25519 -N "" -f ~/.ssh/id_ed25519 ssh-copy-id root@172.29.132.68 ssh-copy-id root@172.29.132.69 # 测试连通 ssh root@172.29.132.68 hostname ssh root@172.29.132.69 hostname
使用sealo部署k8s专用配置
# 切换 root 用户(Sealos 必须 root 部署) sudo -i 设置统一 root 密码(三台机器密码保持一致,示例:K8s@abcd) passwd root
【安装sealos 5.1.1】
方式 1:APT 官方源(推荐 Ubuntu)
echo "deb [trusted=yes] https://apt.fury.io/labring/ /" | tee /etc/apt/sources.list.d/labring.list apt update apt install sealos -y # 验证 sealos version
方式 2:二进制快速安装(备用)
wget -c https://sealyun.oss-cn-beijing.aliyuncs.com/latest/sealos && chmod +x sealos && mv sealos /usr/bin sealos version
方式3,本地下载sealos_5.1.1_linux_amd64.tar.gz 文件,再用scp命令copy到ubantu服务器上。
由于网络问题,前面两种方式都安装不了sealos 5.1.1,就用第3种方式,在本地windows电脑上,用迅雷下载 sealos_5.1.1_linux_amd64.tar.gz,
迅雷下载地址:https://github.com/labring/sealos/releases/tag/v5.1.1
在本地powershell窗口里把下载成功的 sealos_5.1.1_linux_amd64.tar.gz 文件拷贝到 ubantu系统里。
scp "D:\迅雷下载\sealos_5.1.1_linux_amd64.tar.gz" root@121.40.63.235:/srv/sealos/
#输入root的密码
然后进到ubantu系统里安装
cd /srv/sealos # 解压只提取sealos二进制 tar zxvf sealos_5.1.1_linux_amd64.tar.gz sealos chmod +x sealos cp sealos /usr/bin/ # 验证 sealos version

验证k8s镜像是否存在的方法(以后自查)
打开网址 https://explore.ggcr.dev/
输入仓库地址:registry.cn-shanghai.aliyuncs.com/labring/kubernetes
提交即可看到所有可用 tag
目前镜像源里最高支持的k8s版本是 v1.31.9

提交后显示的结果:

【安装k8s v1.26.15(仅安装k8s)】
sealos run \ registry.cn-shanghai.aliyuncs.com/labring/kubernetes:v1.26.15 \ registry.cn-shanghai.aliyuncs.com/labring/calico:v3.26.1 \ registry.cn-shanghai.aliyuncs.com/labring/helm:v3.14.1 \ registry.cn-shanghai.aliyuncs.com/labring/openebs:v3.9.0 \ --masters 172.29.128.1 \ --nodes 172.29.132.68,172.29.132.69 \ --user root -p "root密码"
【安装k8s v1.26.15 + kubesphere v3.4.0】
注意:kubesphere最高版本只支持到k8s v1.26.15,k8s v1.27.0 及以上版本需要kubesphere 3.5.0,ks 3.5.0已经不开源了,拉不到镜像。
sealos run \ registry.cn-shanghai.aliyuncs.com/labring/kubernetes:v1.26.15 \ registry.cn-shanghai.aliyuncs.com/labring/calico:v3.26.1 \ registry.cn-shanghai.aliyuncs.com/labring/helm:v3.14.1 \ registry.cn-shanghai.aliyuncs.com/labring/openebs:v3.9.0 \ registry.cn-shanghai.aliyuncs.com/labring/kubesphere:v3.4.0 \ --masters 172.29.128.1 \ --nodes 172.29.132.68,172.29.132.69 \ --user root -p "root密码"
安装k8s时有可能拉取helm镜像失败,如果拉取helm失败了,为了避免拉helm镜像再失败,先手动拉取helm镜像。
方式1:在线安装helm
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash helm version
方式2:国内加速备用安装脚本安装helm:
wget https://get.helm.sh/helm-v3.14.1-linux-amd64.tar.gz
tar -zxvf helm-v3.14.1-linux-amd64.tar.gz
mv linux-amd64/helm /usr/local/bin/
chmod +x /usr/local/bin/helm
helm version
如果sealos安装k8s失败,先重置本次不完整部署,重新跑完整集群
sealos reset --user root -p "你的root密码" --force #然后重新执行上面的,sealos run 命令
【单独追加 KubeSphere v3.4.0(不用重装整个集群)】
安装 Helm 客户端(master节点必须),如果已经安装了helm,跳过这一步。
wget https://get.helm.sh/helm-v3.14.1-linux-amd64.tar.gz tar -zxvf helm-v3.14.1-linux-amd64.tar.gz mv linux-amd64/helm /usr/local/bin/ helm version
补充:如果先装完 k8s 忘记带 OpenEBS,后期补上
sealos run registry.cn-shanghai.aliyuncs.com/labring/openebs:v3.9.0 \ --masters 172.29.128.1 \ --nodes 172.29.132.68,172.29.132.69 \ --user root -p "root密码"
全安装 kubesphere v3.4.0
注意:当前开源kubesphere最高版本只有v3.4.0,v3.5.0及以上版本不支持在线安装。
待续......
