news 2026/6/9 22:15:33

海豹云创建K8S集群

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
海豹云创建K8S集群

我会为你详细讲解基于sealy工具(Sealyun 集群管理工具)、通过clusterfile配置文件指定机器搭建 K8s 集群的完整流程,包括环境准备、配置编写、集群部署和验证。

一、核心前提:安装 sealy 工具(任意一台控制机 / 目标机器均可)

sealy 是 Sealyun 官方的集群部署工具,先完成工具安装:

bash

运行

# 下载并安装 sealy 工具(国内源,一键安装) curl -sfL https://oss.sealyun.com/sealyun-script/install.sh | sh -s v1.2.0 # 验证安装是否成功 sealy version # 输出类似 "sealy version v1.2.0" 即表示安装成功

二、编写 clusterfile 配置文件(核心:指定机器)

clusterfile是 sealy 部署集群的核心配置文件,通过它可以精准指定集群的 Master/Node 节点、IP、角色、K8s 版本等信息。

1. 完整的 clusterfile 示例(自定义指定机器)

创建clusterfile.yaml文件,内容如下(根据你的实际机器 IP / 密码 / 角色修改):

yaml

apiVersion: sealyun.com/v1alpha1 kind: Cluster metadata: name: my-k8s-cluster # 集群名称,自定义 spec: # 全局配置 ssh: user: root # 机器登录用户(建议root,权限足够) password: "123456" # 机器登录密码(如果用密钥登录,替换为 privateKey: "xxx") port: 22 # 机器SSH端口 kubernetes: version: v1.28.0 # 指定K8s版本 imageRepo: registry.aliyuncs.com/google_containers # 国内镜像源,避免拉取失败 network: plugin: calico # 网络插件(calico/flannel,推荐calico,适配性更强) cidr: 10.244.0.0/16 # Pod网段,默认即可 # 节点配置(核心:指定每台机器的IP和角色) hosts: - ip: 192.168.1.10 # 指定作为Master的机器IP hostname: k8s-master # 自定义主机名 role: [master] # 角色为master - ip: 192.168.1.11 # 指定作为Node的机器IP1 hostname: k8s-node1 role: [node] # 角色为node - ip: 192.168.1.12 # 指定作为Node的机器IP2 hostname: k8s-node2 role: [node] # 可选:如果需要多Master高可用,新增master节点即可 # - ip: 192.168.1.13 # hostname: k8s-master2 # role: [master]
配置说明(关键参数)
  • ssh段:必须确保指定的用户 / 密码 / 端口能登录所有目标机器,否则部署会失败;
  • hosts段:ip核心,必须填写你要指定的机器 IP;role支持master/node/etcd(单 Master 集群无需指定 etcd);
  • kubernetes.version:支持大部分稳定版(如 v1.26.x、v1.27.x、v1.28.x),建议选最新稳定版。

三、执行部署(指定机器拉起集群)

在安装了sealy工具的机器上,执行以下命令:

bash

运行

# 执行部署(-f 指定clusterfile配置文件) sealy apply -f clusterfile.yaml # 部署过程会自动完成: # 1. 检查目标机器环境(关闭防火墙/swap、安装依赖); # 2. 拉取K8s镜像; # 3. 初始化Master节点; # 4. 将指定Node节点加入集群; # 5. 安装网络插件。

四、验证集群部署结果

部署完成后,登录任意一台 Master 节点,执行以下命令验证:

bash

运行

# 配置kubectl(sealy部署后会自动生成配置,直接执行即可) source /etc/profile.d/k8s.sh # 查看节点状态(确认指定的机器都已加入且状态为Ready) kubectl get nodes

预期输出(所有指定机器都在列表中,STATUS 为 Ready):

plaintext

NAME STATUS ROLES AGE VERSION k8s-master Ready control-plane 5m v1.28.0 k8s-node1 Ready <none> 3m v1.28.0 k8s-node2 Ready <none> 2m v1.28.0

五、常见问题处理

  1. SSH 登录失败:检查clusterfile中的ssh.user/password/port是否正确,确保目标机器开启 SSH 且端口互通;
  2. 镜像拉取失败:确认kubernetes.imageRepo配置为国内源(如阿里云),或检查机器网络能否访问外网;
  3. 节点状态 NotReady:等待网络插件安装完成(calico/flannel 启动需要 1-2 分钟),或执行kubectl get pods -n kube-system查看网络插件 Pod 是否正常运行。

六、集群卸载(如需重新部署)

如果需要清理指定机器的集群环境,执行:

bash

运行

# 卸载集群(-f 指定原clusterfile) sealy delete -f clusterfile.yaml

总结

  1. sealy apply -f clusterfile方式的核心是通过clusterfile.yamlhosts精准指定机器 IP 和角色,无需手动在每台机器执行命令;
  2. 部署前需确保clusterfile中的 SSH 配置能登录所有目标机器,这是部署成功的关键;
  3. 部署过程全自动化,无需手动初始化 Master / 加入 Node,适合快速搭建指定机器的 K8s 集群。

如果你的机器需要用密钥登录(而非密码),只需将clusterfile中的password: "123456"替换为privateKey: "你的私钥内容"即可;如果需要部署多 Master 高可用集群,只需在hosts中新增 master 节点并指定role: [master]

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/9 21:19:32

【新】基于SSM的电子相册管理系统【源码+文档+调试】

&#x1f495;&#x1f495;发布人&#xff1a; 星河码客 &#x1f495;&#x1f495;个人简介&#xff1a;混迹java圈十余年&#xff0c;精通Java、小程序、数据库等。 &#x1f495;&#x1f495;各类成品Java毕设 。javaweb&#xff0c;ssm&#xff0c;springboot等项目&…

作者头像 李华
网站建设 2026/6/9 20:05:50

Open-AutoGLM保姆级教程:零基础也能3天上手的自动化神器

第一章&#xff1a;Open-AutoGLM入门与环境准备Open-AutoGLM 是一个开源的自动化通用语言模型&#xff08;GLM&#xff09;开发框架&#xff0c;旨在简化大语言模型的训练、微调与部署流程。通过集成模块化组件和标准化接口&#xff0c;开发者可以快速构建定制化的自然语言处理…

作者头像 李华
网站建设 2026/6/9 19:39:18

Open-AutoGLM邀请码最新获取路径曝光(专家亲测可用)

第一章&#xff1a;Open-AutoGLM邀请码最新获取方法详解Open-AutoGLM作为新一代开源自动化大语言模型框架&#xff0c;目前仍处于受限访问阶段&#xff0c;用户需通过邀请码方可获得系统权限。随着社区热度上升&#xff0c;官方对邀请码的发放机制进行了优化&#xff0c;确保资…

作者头像 李华