在GCP Ubuntu服务器用kubeadm部署K8s时遇curl错误求助
解决curl: (23) Failed writing body错误的方案
针对你在GCP Ubuntu服务器上执行Kubernetes密钥下载命令时遇到的curl: (23) Failed writing body (0 != 1377)错误,可尝试以下几种解决方案:
检查并修复目标目录权限
首先确认/etc/apt/keyrings目录存在,若不存在则创建:sudo mkdir -p /etc/apt/keyrings为目录设置正确权限:
sudo chmod 755 /etc/apt/keyrings之后重新执行原curl命令。
拆分命令分步执行
先将密钥文件下载到临时目录,再移动到目标位置,绕开直接写入可能的权限或路径问题:sudo curl -fsSL https://packages.cloud.google.com/apt/doc/apt-key.gpg -o /tmp/kubernetes-archive-keyring.gpg sudo mv /tmp/kubernetes-archive-keyring.gpg /etc/apt/keyrings/检查磁盘剩余空间
使用以下命令查看根目录的空间使用情况:df -h若根目录剩余空间不足,清理无用文件(如旧日志、缓存包)后重试命令。
改用管道+tee写入文件
替换原命令的直接输出方式,避免sudo与curl输出的权限冲突:curl -fsSL https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo tee /etc/apt/keyrings/kubernetes-archive-keyring.gpg > /dev/null临时禁用AppArmor(若启用)
部分情况下AppArmor会限制文件写入,可临时禁用后重试:sudo systemctl stop apparmor && sudo systemctl disable apparmor完成密钥下载后,可重新启用:
sudo systemctl start apparmor && sudo systemctl enable apparmor
内容的提问来源于stack exchange,提问作者Bharath kumar
相关产品推荐
相关产品推荐

