ubuntu2404安装k3s

ubuntu2404安装k3s

核心问题:命令行参数被Shell拆分解析(换行/空格导致参数脱离安装脚本上下文)

所有--xxx参数被bash当成独立命令执行,是因为命令换行/空格格式错误,需用「无换行的单行完整命令」执行,确保所有参数传递给K3s安装脚本而非被Shell解析。

终极修复:单行无换行安装命令(直接复制执行)

步骤1:清理错误残留

停止错误服务+清理残留

systemctl stop k3s && systemctl disable k3s && rm -rf /etc/systemd/system/k3s.service*

/usr/local/bin/k3s-uninstall.sh || true

systemctl daemon-reload

步骤2:单行完整安装命令(核心!无任何换行,直接复制)

export K3S_IMAGE_REPO="rancher-mirror.rancher.cn/k3s" && export INSTALL_K3S_MIRROR="cn" && export INSTALL_K3S_VERSION="v1.30.1+k3s1" && curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | sh -s - server --node-ip=10.0.2.15 --cluster-cidr=203.0.113.0/24 --service-cidr=10.43.0.0/16 --flannel-backend=vxlan --cluster-init --disable traefik --write-kubeconfig-mode 644

步骤3:验证安装结果

查看K3s服务状态(正常应为active(running))

systemctl status k3s

查看节点状态(Ready即为成功)

kubectl get nodes

验证Pod网段配置

kubectl get node 10.0.2.15 -o yaml | grep podCIDR # 输出203.0.113.0/24

关键原理说明

  1. 参数传递逻辑:sh -s - server --xxx 中,-s 表示从标准输入读取脚本,- 表示将后续的server --xxx全部作为参数传递给安装脚本,而非被bash解析为独立命令;
  2. 单行命令的必要性:换行符\在复制/粘贴时容易丢失或被Shell误解,单行命令彻底避免参数拆分;
  3. 环境变量与命令整合:将export和安装命令用&&串联,确保环境变量生效后立即执行安装,避免分步执行的环境变量失效问题;
  4. 废弃参数修正:用--cluster-init替代废弃的--single-node,适配K3s v1.30.1的参数规范。

若仍有问题,执行手动调试(兜底方案)

1. 先下载安装脚本到本地,避免网络传输中格式错误

curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh -o /tmp/k3s-install.sh

chmod +x /tmp/k3s-install.sh

2. 本地执行脚本,传递参数(确保参数不拆分)

K3S_IMAGE_REPO="rancher-mirror.rancher.cn/k3s" INSTALL_K3S_MIRROR="cn" INSTALL_K3S_VERSION="v1.30.1+k3s1" /tmp/k3s-install.sh server --node-ip=10.0.2.15 --cluster-cidr=203.0.113.0/24 --service-cidr=10.43.0.0/16 --flannel-backend=vxlan --cluster-init --disable traefik --write-kubeconfig-mode 644

此方案彻底解决参数被Shell拆分的问题,适配Ubuntu 24.04+VirtualBox环境,且全程使用国内源,能直接完成K3s单节点部署并配置指定的Pod网段。

相关推荐
SuperEugene2 小时前
Vue3 + Element Plus 表单开发实战:防重复提交、校验、重置、loading 统一|表单与表格规范篇
前端·javascript·vue.js
SuperEugene2 小时前
Vue3 + Element Plus 中后台弹窗规范:开闭、传参、回调,告别弹窗地狱|Vue 组件与模板规范篇
开发语言·前端·javascript·vue.js·前端框架
桜吹雪2 小时前
在前端运行Qwen3.5原生多模态模型
前端·人工智能·机器学习
孟祥_成都2 小时前
前端下午茶:这 3 个网页特效建议收藏(送源码)
前端·javascript·css
SuperEugene2 小时前
VXE-Table 4.x 实战规范:列配置 + 合并单元格 + 虚拟滚动,避坑卡顿 / 错乱 / 合并失效|表单与表格规范篇
开发语言·前端·javascript·vue.js·前端框架·vxetable
火车叼位3 小时前
Volta 下 `corepack` 失踪之谜:问题不在 Node,而在命令入口
前端
cmd3 小时前
别再用错!5种JS类型判断方法,从原理到实战一文吃透
前端·javascript
小江的记录本3 小时前
【Redis】Redis常用命令速查表(完整版)
java·前端·数据库·redis·后端·spring·缓存
dys_Codemonkey3 小时前
ROS 2 环境配置与 Shell 配置文件详解(zsh/bash)ROS 2 多工作空间规范配置
开发语言·chrome·bash
Csvn3 小时前
状态管理方案对比(Context、Zustand、Jotai 选型指南)
前端