讲师中心 微信公众号
AI工具推荐 视频效率加速

K3s 使用 k3sup 部署时 "failed to create kubeconfig" 的几种写法坑

云宇小哥_2322

云宇小哥_2322

发布时间:2026-01-18 18:42:09

|

720人浏览过

|

来源于php中文网

原创

k3sup“failed to create kubeconfig”本质是本地写入kubeconfig失败,主因包括:本地~/.kube目录权限不足或不存在;SSH远程sudo无密码免TTY权限;--ip/--server-ip与K3s证书SAN不匹配;KUBECONFIG环境变量干扰。

k3s 使用 k3sup 部署时 \

使用 k3sup 部署 K3s 时出现 "failed to create kubeconfig",通常不是 K3s 启动失败,而是 k3sup 在本地生成或写入 kubeconfig 文件环节出错。问题多集中在权限、路径、SSH 配置和环境变量这几个关键点上。

本地目标目录不可写或父目录不存在

k3sup 默认把生成的 kubeconfig 写入当前用户主目录下的 ~/.kube/config(或指定的 --kubeconfig 路径)。如果该路径所在目录不存在、权限不足,或磁盘已满,就会报这个错。

  • 检查路径是否存在:mkdir -p ~/.kube
  • 确认写入权限:ls -ld ~/.kube,确保当前用户有 drwxr-xr-x 或更宽松的权限
  • 避免用 sudo k3sup:它会以 root 身份运行,导致生成的 config 写入 /root/.kube/config,而后续 kubectl 命令仍读取普通用户的 ~/.kube/config,造成错位

SSH 连接成功但无法执行远程命令(尤其 sudo 权限)

k3sup 需要通过 SSH 登录节点后执行 sudo k3s kubectl 获取集群信息,并拉取 server 的证书与 endpoint。若远程用户无免密 sudo 权限,或 sudo 配置要求 TTY(默认开启),k3sup 就卡在“获取证书”阶段,最终误报为 kubeconfig 创建失败。

macos-suite-readonly
macos-suite-readonly

macOS 只读查询:Mail 未读、Calendar 日程、Notes 搜索、Stocks 行情(输出 JSON)。

下载
  • 在目标节点检查:ssh user@host 'sudo -n k3s kubectl config view --raw > /dev/null',若报错 no tty present 或 sudo: a password is required,说明 sudo 权限配置不满足非交互式调用
  • 修复方式:编辑 /etc/sudoers,添加一行(用 visudo):user ALL=(ALL) NOPASSWD: /usr/local/bin/k3s
  • 禁用 requiretty(可选):Defaults:user !requiretty

指定了错误的 --ip 或 --server-ip,导致证书校验失败

K3s 生成的 server 证书只绑定特定 IP 或域名(如 --tls-san 指定的地址)。若 k3sup 使用的 --ip 与证书中 SAN 不匹配,kubectl 无法安全连接 API Server,k3sup 就会放弃写入 kubeconfig。

  • 部署前确认:目标节点能被访问的 IP 是哪个?是内网 IP、公网 IP,还是 localhost?不要直接填 127.0.0.1(除非你在节点本机跑 k3sup)
  • 部署时显式指定可信地址:k3sup install --ip 192.168.1.100 --server-ip 192.168.1.100
  • 如需支持多地址,重装 K3s 并加参数:--tls-san 192.168.1.100 --tls-san mycluster.local

KUBECONFIG 环境变量干扰或文件被占用

若系统中已设置 KUBECONFIG 环境变量,k3sup 可能尝试写入一个你没权限的路径(比如 /etc/rancher/k3s/k3s.yaml),或与已有进程冲突(如 VS Code Kubernetes 插件正在监听该文件)。

  • 临时清空变量再试:KUBECONFIG= k3sup install ...
  • 换一个明确路径避开干扰:k3sup install --kubeconfig ./my-k3s-config
  • 检查文件是否被锁:lsof ./my-k3s-config(Linux/macOS)

这个问题表面是“创建失败”,实质是 k3sup 在最后一步验证连接 + 写入配置时断在了某个依赖环节。盯住 SSH 权限、本地路径、IP 匹配、环境变量这四点,基本能覆盖 95% 的场景。

热门AI工具

更多
WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

二狗PPT
二狗PPT Hot

一款AI演示文稿工具,主要用于专为中式职场打造的AI PPT生成工具,适合需要提升相关任务效率的用户。

讯飞绘文

讯飞绘文是一款由科大讯飞推出的一站式 AIGC 内容运营平台。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

Lovart
Lovart Hot

一款面向视觉设计创作的AI设计平台,可通过智能体和画布工作流辅助制作海报、Logo、网页、PPT及其他视觉内容。

AionClaw
AionClaw Hot

AionClaw是一款面向办公、创作和编程任务的AI桌面智能体。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

超级简历WonderCV

一款AI办公效率工具,主要用于免费求职简历模版下载制作,应届生职场人必备简历制作神器,适合需要提升相关任务效率的用户。

切问学术

切问学术是一款AI论文写作工具,复旦大学NLP团队推出的AI学术智能体。

相关专题

更多
c语言中null和NULL的区别
c语言中null和NULL的区别

c语言中null和NULL的区别是:null是C语言中的一个宏定义,通常用来表示一个空指针,可以用于初始化指针变量,或者在条件语句中判断指针是否为空;NULL是C语言中的一个预定义常量,通常用来表示一个空值,用于表示一个空的指针、空的指针数组或者空的结构体指针。

509

2023.09.22

java中null的用法
java中null的用法

在Java中,null表示一个引用类型的变量不指向任何对象。可以将null赋值给任何引用类型的变量,包括类、接口、数组、字符串等。想了解更多null的相关内容,可以阅读本专题下面的文章。

1658

2024.03.01

macOS怎么切换用户账户
macOS怎么切换用户账户

在 macOS 系统中,可通过多种方式切换用户账户。如点击苹果图标选择 “系统偏好设置”,打开 “用户与群组” 进行切换;或启用快速用户切换功能,通过菜单栏或控制中心的账户名称切换;还能使用快捷键 “Control+Command+Q” 锁定屏幕后切换。

3704

2025.05.09

Golang云原生微服务Kubernetes_Golang怎么集成Kubernetes开发云原生服务
Golang云原生微服务Kubernetes_Golang怎么集成Kubernetes开发云原生服务

Golang云原生微服务Kubernetes (K8s) 是指 使用 Go 语言(Golang)编写的云原生微服务,并利用 Kubernetes 平台进行容器化部署、自动化管理、弹性伸缩和高效编排的一整套现代应用架构方案。

96

2025.12.22

Go云原生应用与Kubernetes服务部署实战
Go云原生应用与Kubernetes服务部署实战

本专题围绕 Go 语言在云原生环境中的应用展开,讲解容器化部署、Kubernetes 编排、服务发现、健康检查与弹性扩缩容机制。通过真实云端案例,帮助开发者构建可扩展的云原生微服务架构。

148

2026.06.29

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

3670

2023.06.21

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

3193

2023.06.29

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2253

2023.06.30

Buffalo框架数据库开发全教程
Buffalo框架数据库开发全教程

本专题围绕Buffalo框架数据库开发,讲解database.yml多环境配置、soda与fizz迁移生成回滚、模型结构体标签、增删改查与条件查询、一对多与多对多关联、数据校验、回调钩子、事务处理及原生SQL执行能力。

60

2026.09.23

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn