sealos部署k8s集群操作指南

24 阅读1分钟

通过此文档,记录sealos工具安装k8s集群的过程,能够完成k8s集群的安装,为后面在本地玩转k8s做铺垫 使用4.3.7的sealos版本

1 下载安装sealos

sealos_4.3.7_linux_amd64.tar.gz

地址在 github.com/labring/sea…

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