通过此文档,记录sealos工具安装k8s集群的过程,能够完成k8s集群的安装,为后面在本地玩转k8s做铺垫 使用4.3.7的sealos版本
1 下载安装sealos
sealos_4.3.7_linux_amd64.tar.gz
2 拷贝到虚拟机
scp /mnt/c/Users/11584/Downloads/sealos_4.3.7_linux_amd64.tar.gz hw@192.168.30.131:/home/hw
3 解压并且部署
# 假设当前目录下有 sealos_4.3.7_linux_amd64.tar.gz
tar -zxvf sealos_4.3.7_linux_amd64.tar.gz
sudo install -m 755 sealos /usr/local/bin/sealos
4 验证安装成功
hw@host2:~$ sealos version
SealosVersion:
buildDate: "2023-10-30T16:19:05Z"
compiler: gc
gitCommit: f39b2339
gitVersion: 4.3.7
goVersion: go1.20.10
platform: linux/amd64
5 安装单节点命令
sudo sealos run registry.cn-shanghai.aliyuncs.com/labring/kubernetes:v1.27.7 registry.cn-shanghai.aliyuncs.com/labring/cilium:v1.13.4 --single --debug
6 配置 kubectl(访问集群)
# 创建 .kube 目录(如果不存在)
mkdir -p $HOME/.kube
# 复制配置文件
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
# 修改权限(避免警告)
sudo chown $(id -u):$(id -g) $HOME/.kube/config
这一步是必须的!否则 kubectl 会报错:The connection to the server localhost:8080 was refused
7 验证
# 查看节点是否 Ready
kubectl get nodes
# 正常输出示例:
# NAME STATUS ROLES AGE VERSION
# host2 Ready control-plane 2m v1.27.7
# 查看所有系统 Pod 是否 Running
kubectl get pods -A
# 关键组件应处于 Running 状态,例如:
# - coredns-xxx
# - cilium-operator-xxx
# - cilium-xxxx (在 kube-system)
# - etcd-xxx, kube-apiserver-xxx 等
8 扩容节点
# 新增节点
sudo sealos add --nodes 192.168.30.130
# 删除失败的节点
sudo sealos delete --nodes 192.168.30.130
# 验证节点
hw@host2:~/桌面$ kubectl get nodes
NAME STATUS ROLES AGE VERSION
host1 Ready <none> 16m v1.27.7
host2 Ready control-plane 22h v1.27.7
安装中遇到的问题以及解决思路
sealos run registry.cn-shanghai.aliyuncs.com/labring/kubernetes:v1.27.7 registry.cn-shanghai.aliyuncs.com/labring/cilium:v1.13.4 --single --debug
上面的命令会报错:mkdir失败 ai认为是sealos版本有问题,sealos查看是4.1.x版本,准备更新使用ai推荐的版本。 在 Sealos 4.3.7 的实测方案里,Kubernetes 与 Cilium 的推荐版本组合如下:
- Kubernetes v1.27.10
- Cilium v1.13.4(对应集群镜像
labring/cilium:v1.13.4)