ubuntu24 + sealos 5.1部署k8s + kubesphere

重要提醒: sealos 4.3.x 与 sealos v5.1.1 坑点:

  • 新建集群机器必须纯净裸机:不能装 containerd、kubeadm、sealos 旧集群数据;
  • 只要节点存在 containerd/cri 就直接报错阻断部署;
  • 会出现(not found cluster、yaml 乱码、containerd 冲突),版本兼容性很差;
  • 只要机器之前手动装过 containerd/kubeadm,4.x、5.x 都必须全节点手动卸载清理才能重装;

 

所有节点统一前置操作(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_netfilter

cat >> /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

 

设置KKZONE为国源内,永久生效(所有节点执行)

先查看一下如果/etc/profile 里有 export KKZONE=cn  这一句配置,就勿需再执行了。

echo "export KKZONE=cn" >> /etc/profile
source /etc/profile

 

 

【安装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

 

image

 

验证k8s镜像是否存在的方法(以后自查)

打开网址 https://explore.ggcr.dev/
输入仓库地址:registry.cn-shanghai.aliyuncs.com/labring/kubernetes
提交即可看到所有可用 tag

目前镜像源里最高支持的k8s版本是 v1.31.9

image

 提交后显示的结果:

image

 

【安装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及以上版本不支持在线安装。

 

待续......

 

posted @ 2026-06-21 23:04  民工黑猫  阅读(47)  评论(0)    收藏  举报