SealOS摆设k8s集群(单节点)

[复制链接]
发表于 2025-10-15 15:27:34 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
一、        先决条件


  • 每个集群节点应该有差异的主机名。
  • 须要在 K8s 集群的第一个 master 节点上运行 sealos run 下令。
  • 发起利用干净的操纵体系来创建集群。不要自己装 Docker!
  • 支持大多数 Linux发行版,但内核版本发起5以上。比方:Ubuntu、CentOS、Rocky linux。
  • 支持 Docker Hub 中的全部 Kubernetes 版本。
  • 支持利用 Containerd 作为容器运行时。
  • Sealos默认提供了一个私有镜像堆栈。
  • 全部操纵必须利用 root 用户实行。
二、准备(在全部主机上实行)

本次利用的操纵体系是debian 12(本机IP所在192.168.80.12),因其内核为6.1.0-28-amd64
1,设置主机名k8s-master
  1. hostnamectl set-hostname k8s-master  
复制代码
2,编辑/etc/hosts文件,增长IP与主机名对应关系
  1. 192.168.80.12        k8s-master  
复制代码
3,安装用到的依靠包
  1. apt -y install curl jq ebtables socat iptables  
复制代码
三、在k8s-master主机上实行摆设

1)在线安装方式

1,下载sealos下令行工具(当前利用v5.0.1版本)

在https://github.com/labring/sealos/releases 下载对应体系的版本,debian 12对应的是:
https://github.com/labring/sealos/releases/download/v5.0.1/sealos_5.0.1_linux_amd64.deb
2,在k8s-master上安装sealos下令行工具
  1. dpkg -i sealos_5.0.1_linux_amd64.deb
复制代码
3,在k8s-master上安装k8s(单节点)
  1. sealos run registry.cn-shanghai.aliyuncs.com/labring/kubernetes:v1.27.7 \
  2.   registry.cn-shanghai.aliyuncs.com/labring/helm:v3.9.4 \
  3.   registry.cn-shanghai.aliyuncs.com/labring/calico:v3.27.4
复制代码
这里利用了calico网络插件。须要留意:helm应当在calico之前。
在干净的服务上直接实行上面的下令,不须要额外多余操纵即可安装一个高可用K8S集群(单节点)
2)离线安装方式

离线包下载所在:通过网盘分享的文件:K8S
链接: https://pan.baidu.com/s/12FMstUEmHWPqSml1VVVgSA?pwd=c2bf 提取码: c2bf
1,在k8s-master上安装sealos下令行工具(sealos下令行工具包泉源于别的外网情况)
  1. dpkg -i sealos_5.0.1_linux_amd64.deb
复制代码
2,导入tar包镜像(tar包镜像泉源于别的外网情况的sealos的save导出)
  1. sealos load -i kubernetes_v1.27.7.tar
  2. sealos load -i helm_v3.9.4.tar
  3. sealos load -i calico_v3.27.4.tar
复制代码
3,在k8s-master上安装k8s(单节点)
  1. sealos run registry.cn-shanghai.aliyuncs.com/labring/kubernetes:v1.27.7 \
  2.   registry.cn-shanghai.aliyuncs.com/labring/helm:v3.9.4 \
  3.   registry.cn-shanghai.aliyuncs.com/labring/calico:v3.27.4
复制代码
这里利用了calico网络插件。须要留意:helm应当在calico之前。
在干净的服务上直接实行上面的下令,不须要额外多余操纵即可安装一个高可用K8S集群(单节点)
四、k8s镜像摆设

当前安装的k8s集群利用containerd作为容器运行;利用calico作为网络插件CNI;sealos默认提供了一个私有镜像堆栈,sealos的私有堆栈默认运行在集群的第一个节点上,第一个节点是指创建集群的时间输入的第一个节点的所在,利用下面的下令检察保卫历程的状态。
  1. systemctl status registry.service
复制代码
1,利用sealos login下令来登岸,默认用户名和暗码为 admin:passw0rd
  1. sealos login -u admin -p passw0rd 192.168.80.12:5000
复制代码
注:192.168.80.12:5000 (k8s-master的IP所在)为私有镜像堆栈中所在
2,sealos导入docker镜像
  1. sealos load -i GBase8sV8.8_3513x25_csdk_x64_20250225.tar
复制代码
3,sealos重新打tag,留意tag的写法,利用私有镜像时,须要该写法。
  1. sealos tag localhost/gbase8sv8.8:3513x25_csdk_x64 \
  2. 192.168.80.12:5000/gbase8sv8.8:3513x25_csdk_x64
复制代码
4,推送到本地的私有镜像
  1. sealos push 192.168.80.12:5000/gbase8sv8.8:3513x25_csdk_x64
复制代码
5,GBase8s单机摆设yaml文件(gbase8s-standard-deployment.yaml)
  1. # gbase8s-deployment.yaml
  2. apiVersion: apps/v1
  3. kind: Deployment
  4. metadata:
  5.   name: gbase8s-deployment
  6. spec:
  7.   replicas: 1
  8.   selector:
  9.     matchLabels:
  10.       app: gbase8s
  11.   template:
  12.     metadata:
  13.       labels:
  14.         app: gbase8s
  15.       annotations:
  16.         # 使用calico方式,指定使用IP地址,数据库集群中必须指定IP
  17.         # 所有IP网段,使用kubectl get pod -A -o wide | grep calico-apiserver获取
  18.         # 或者k8s-master上使用ip a获取的tunl0网卡对应的网络
  19.         cni.projectcalico.org/ipAddrs: "["100.116.59.101"]"
  20.     spec:
  21.       containers:
  22.         - name: gbase8s
  23.           # 镜像地址
  24.           image: 192.168.80.12:5000/gbase8sv8.8:3513x25_csdk_x64
  25.           ports:
  26.             - containerPort: 9088
  27. ---
  28. apiVersion: v1
  29. kind: Service
  30. metadata:
  31.   name: gbase8s-service
  32. spec:
  33.   selector:
  34.     app: gbase8s
  35.   ports:
  36.     - name: sqlexec
  37.       port: 9088
  38.       targetPort: 9088
  39.       nodePort: 30088
  40.   type: NodePort
复制代码
6,摆设GBase8s(单节点)服务

利用kubectl apply摆设GBase8s(单节点)的k8s服务
  1. kubectl apply -f gbase8s-standard-deployment.yaml
复制代码
7,检察pod摆设

利用kubectl get pod检察摆设情况
  1. kubectl get pod -o wide
复制代码
示例输出如下:
  1. NAME                                  READY   STATUS    RESTARTS   AGE
  2. gbase8s-deployment-6cd4dbc946-ltfk6   1/1     Running   0          88m
复制代码
五、一些常用的sealos和kubectl(下令与docker有很大的雷同)

1) kubectl下令

表现service
  1. kubectl get service -o wide
复制代码
表现service具体信息
  1. kubectl describe service gbase8s-service
复制代码
删除service
  1. kubectl delete service gbase8s-service
复制代码
表现deployment
  1. kubectl get deployment -o wide
复制代码
表现deployment具体信息
  1. kubectl describe deployment gbase8s-deployment
复制代码
删除depolyment
  1. kubectl delete deployment gbase8s-deployment
复制代码
表现pod
  1. kubectl get pod -o wide
复制代码
表现pod具体信息
  1. kubectl describe pod gbase8s-deployment-6cd4dbc946-ltfk6  
复制代码
2) sealos下令

导入docker镜像
  1. sealos load -i GBase8sV8.8_3513x25_csdk_x64_20250225.tar
复制代码
给镜像打新的tag
  1. sealos tag localhost/gbase8sv8.8:3513x25_csdk_x64 \
  2. 192.168.80.12:5000/gbase8sv8.8:3513x25_csdk_x64
复制代码
推送至本地镜像堆栈
  1. sealos push 192.168.80.12:5000/gbase8sv8.8:3513x25_csdk_x64
复制代码
整理k8s集群
  1. sealos reset
复制代码
增长master节点
  1. sealos add --masters 192.168.0.13,192.168.0.14
复制代码
增长node节点
  1. sealos add --nodes 192.168.0.21,192.168.0.22
复制代码
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表