2026/4/18 8:47:54
网站建设
项目流程
网站建设公司 选中企动力公司,深圳网站建设南山,商标设计图,药品网上商城我会为你详细讲解基于 sealy 工具#xff08;Sealyun 集群管理工具#xff09;、通过 clusterfile 配置文件指定机器搭建 K8s 集群的完整流程#xff0c;包括环境准备、配置编写、集群部署和验证。一、核心前提#xff1a;安装 sealy 工具#xff08;任意一台控制机 / 目标…我会为你详细讲解基于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 / 密码 / 角色修改yamlapiVersion: 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是核心必须填写你要指定的机器 IProle支持master/node/etcd单 Master 集群无需指定 etcdkubernetes.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运行# 配置kubectlsealy部署后会自动生成配置直接执行即可 source /etc/profile.d/k8s.sh # 查看节点状态确认指定的机器都已加入且状态为Ready kubectl get nodes预期输出所有指定机器都在列表中STATUS 为 ReadyplaintextNAME 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五、常见问题处理SSH 登录失败检查clusterfile中的ssh.user/password/port是否正确确保目标机器开启 SSH 且端口互通镜像拉取失败确认kubernetes.imageRepo配置为国内源如阿里云或检查机器网络能否访问外网节点状态 NotReady等待网络插件安装完成calico/flannel 启动需要 1-2 分钟或执行kubectl get pods -n kube-system查看网络插件 Pod 是否正常运行。六、集群卸载如需重新部署如果需要清理指定机器的集群环境执行bash运行# 卸载集群-f 指定原clusterfile sealy delete -f clusterfile.yaml总结sealy apply -f clusterfile方式的核心是通过clusterfile.yaml的hosts段精准指定机器 IP 和角色无需手动在每台机器执行命令部署前需确保clusterfile中的 SSH 配置能登录所有目标机器这是部署成功的关键部署过程全自动化无需手动初始化 Master / 加入 Node适合快速搭建指定机器的 K8s 集群。如果你的机器需要用密钥登录而非密码只需将clusterfile中的password: 123456替换为privateKey: 你的私钥内容即可如果需要部署多 Master 高可用集群只需在hosts中新增 master 节点并指定role: [master]。