Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >TKE挂载CFS问题

TKE挂载CFS问题

原创
作者头像
马凌鑫
修改于 2019-01-16 07:24:45
修改于 2019-01-16 07:24:45
2.8K0
举报
文章被收录于专栏:云知识学习云知识学习

背景:今天遇到一个问题,容器挂载nfs报错,报错内容为:

代码语言:txt
AI代码解释
复制
Events:
Type Reason Age From Message
Warning FailedMount 5m (x36 over lh) kubelet, 172.16.2.7 (combined from similar events): MountVolume.Setup failed for volume "runtime" : mount failed: exit status 32 
Mounting command: systemd-run
Mounting arguments: --description=Kubernetes transient mount for /var/lib/kubelet/pods/8b986f57-ff44-lle8-93d9-Oa587f800f51/voluines/kubernetes.io-nfs/runtime --scope -- mount -t nfs 172.16.3.6:/tspms/ts-development/ 
runtime /var/lib/kubelet/pods/8b986f57-ff44-lle8-93d9-Oa587f800f51/voluines/kubernetes.io-nfs/runtime
Output; Running scope as unit run-r6921855d6e6943fea742c4397f65d90e.scope._______________________________
mount.nfs: access denied by server while mounting 172.16.3.6:/tspms/ts-development/runtime
—Warning—FailedMount—12s (x36 over lh)—kubelet, 172.16.2.7—Unable to mount volumes for pod "tspms-5c97cb47bc-jzhkd_ts-development(8b986f57-ff44-lle8-93d9-Oa587f800f51)": timeout expired waiting for volumes to a 
ttach or mount for pod "ts-development'7"tspms-5c97cb47bc-jzhkd".list of unmounted volumes=[runtimeJ.list of unattached volumes=[runtime default-token-wfhg7) 

由于之前有过历史的问题是 nfs v3 v4挂载出现了问题,k8s默认的是 v4格式挂载,nfs建议是使用v3格式挂载。

我登录上节点直接挂载,发现也是同样的报错,于是从nfs挂载命令格式下手

代码语言:txt
AI代码解释
复制
root@VM-1-6-ubuntu:/# mount -t nfs -o vers=3  172.16.3.6:/tspms/ts-development/runtime /testnfs
mount.nfs: access denied by server while mounting 172.16.3.6:/tspms/ts-development/runtime

之前有询问过得出的nfs 挂载格式:

代码语言:txt
AI代码解释
复制
v4:
mount -t nfs4 vip:/ /localdir

v3:
mount -t nfs -o vers=3 vip:/fsid /localdir

于是乎突发奇想

对照了v3的格式我改成如下的挂载路径,就发现挂载成功了,如果用v3的方法直接挂载不加fsid,也是会access denied。

总结来说 用v3挂载一定要加上fsid,在本文中对应为8pw2jq8u,具体的还得参照你cfs中对应的fsid

代码语言:txt
AI代码解释
复制
mount -t nfs 172.16.3.6:/8pw2jq8u/tspms/ts-development/runtime

那么要解决真正的问题,把服务启动正常,把yaml文件中volume的path调整为含有fsid的格式。

在yaml文件的体现为:

代码语言:txt
AI代码解释
复制
  volumes:
  - name: runtime
    nfs:
      path: /8pw2jq8u/tspms/ts-development/runtime
      server: 172.16.3.6

最后总结一点,在控制台中应该如何展示呢?其实还是一样的,在nfs ip后面加上fsid即可,fsid在cfs界面中获取。

image.png
image.png

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
TKE操作指南 - 容器化业务操作排错总结(十七)
问题描述:docker push提示没有权限上传基础镜像至腾讯云Docker仓库。
亮哥说TKE
2019/08/12
1.6K0
将 腾讯云CFS 作为 TKE(容器服务) 默认 StorageClass,动态分配PVC
今天安装 Kubesphere 时发现缺少 StorageClass,导致无法创建依赖的 PVC,搞起。
SRE扫地僧
2024/04/06
3630
将 腾讯云CFS 作为 TKE(容器服务) 默认 StorageClass,动态分配PVC
centos7 部署kerberos实现nfs用户密码认证挂载
任何程序错误,以及技术疑问或需要解答的,请扫码添加作者VX::1755337994
青年夏日
2021/04/19
2.3K0
centos7 部署kerberos实现nfs用户密码认证挂载
NFS挂载时出现mount
1、使用了非法端口,也就是使用了大于1024的端口。 这个错误,可以通过查看日志确认: [root@local~ /]# cat /var/log/messages | grep mount Jan 2 12:49:04 localhost mountd[1644]: refused mount request from 192.168.0.100 for /home/nfsshare/ (/home/nfsshare): illegal port 1689
误入歧途
2024/05/08
6130
NFS挂载时出现mount
nfs不同版本的挂载与解析
1、在上面的操作过程中,如果你不幸遇到下面这个问题的话,可以尝试更新 Linux kernel 或通过打开 IPv6 来解决这个问题,这是1个 bug:
孙杰
2019/10/29
16.5K0
nfs不同版本的挂载与解析
Kubernetes(k8s)持久化存储PV和PVC
答:k8s中的副本控制器保证了pod的始终存储,却保证不了Pod中的数据。只有启动一个新pod的,之前pod中的数据会随着容器的删掉而丢失。k8s中的rc启动指定数量的Pod,当某个Pod死掉了,会在新的节点启动新的Pod,k8s中想要实现数据持久化,需要使用一个叫做共享存储的,让Pod里面的数据挂载到这个共享存储上面,就算在新的节点启动新的Pod,依然可以保证数据不丢失。
别先生
2020/07/06
1.4K0
Kubernetes(k8s)持久化存储PV和PVC
k8s使用glusterfs存储报错type 'features/utime'
根据报错信息,我们可以看出来挂载的时候他是指定的日志文件的,我们去对应的日志查看报错
张琳兮
2019/04/29
1.4K0
k8s使用glusterfs存储报错type 'features/utime'
Kubernetes 存储原理解析
前面的章节中我们介绍了在 Kubernetes 中的持久化存储的使用,了解了 PV、PVC 以及 StorageClass 的使用方法,从本地存储到 Ceph 共享存储都有学习,到这里我们其实已经可以完成应用各种场景的数据持久化了,但是难免在实际的使用过程中会遇到各种各样的问题,要解决这些问题最好的方式就是来了解下 Kubernetes 中存储的实现原理。
我是阳明
2021/01/29
1.7K0
Kubernetes 存储原理解析
nfs 挂载
NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。本文的两个linux环境分别为CentOS和Ubuntu,其他版本类似。将Ubuntu下的/home/dhcc/nfs挂载到CentOS下/home/shao/nfs。 Ubuntu: 1.安装配置NFS服务器 sudo apt-get install nfs-kernel-server nfs-common 2.配置参数 vim /etc/exports 文件最后加入一行,注意不要加到注释 /home/dhcc/nfs *(rw,sync,no_root_squash)      #该目录为nfs服务根目录,*表示允许所有的网段访问,也可以使用具体的IP,参数详解在最后 3.建立nfs目录(如果配置了已存在的目标可跳过此步) sudo mkdir /home/dhcc/nfs 4.查看配置是否生效 exportfs -r  #更新配置 showmount -e 如果生效会显示 Export list for Ubuntu: home/dhcc/nfs 5.重启nfs服务 /etc/init.d/nfs-kernel-server restart CentOS: 1.创建挂载目录(如果已存在请跳过) mkdir /data 2.安装nfs-utils yum install nfs-utils mount -t nfs cpnas01.cloud.cnpc:/fs_nfs016  /data vi  /etc/fstab cpnas01.cloud.cnpc:/fs_nfs016  /data             nfs    rw,tcp,intr   0  0 vim /etc/rc.d/rc.local sudo mount -t nfs cpnas01.cloud.cnpc:/fs_nfs016  /data 2.mount直接挂载 mount -t nfs 10.18.105.116:/home/dhcc/nfs /home/shao/nfs      #Ubuntu的ip为10.18.105.116 3.开机自动挂载 vim /etc/rc.local 添加一行 sudo mount -t nfs 10.18.105.116:/home/dhcc/nfs /home/shao/nfs 如果出现mount.nfs:access denied by server while mounting问题,可通过以下几种途径尝试解决: 1.修改需挂载的nfs目录权限 chmod 755 /home/dhcc/nfs 2.如果端口号大于1024,则需要将 insecure 选项加入到配置文件(/etc/exports): vim /etc/exports 文件最后加入一行 /home/dhcc/nfs *(insecure,rw,sync,no_root_squash)   3.修改/etc/sysconfig/nfs文件 # Turn off v2 and v3 protocol support #  RPCNFSDARGS="-N 2 -N 3" # Turn off v4 protocol support #RPCNFSDARGS="-N 4"    /*把这句话的#号去掉*/  NFS分为三个版本,即NFS-2 NFS-3 NFS-4,该配置文件默认关闭了这三个的NFS版本,我们只需要打开NFS-4即可。 附录:NFS常用参数如下: ro 只读访问 rw 读写访问sync 所有数据在请求时写入共享 async nfs在写入数据前可以响应请求 secure nfs通过1024以下的安全TCP/IP端口发送 insecure nfs通过1024以上的端口发送 wdelay 如果多个用户要写入nfs目录,则归组写入(默认) no_wdelay 如果多个用户要写入nfs目录,则立即写入,当使用async时,无需此设置。 hide 在nfs共享目录中不共享其子目录 no_hide 共享nfs目录的子目录 subtree_check 如果共享/usr/bin之类的子目录时,强制nfs检查父目录的权限(默认) no_subtree_check 和上面相对,不检查父目录权限 all_squash 共享文件的UID和GID映射匿名用户anonymous,适合公用目录。 no_all_squash 保留共享文件的UID和GID(默认) root_squash root用户的所有请求映射成如anonymous用户一样的权限(默认)
孙杰
2019/10/29
3.2K0
NFS挂载报错
nfs共享的时候,无论怎么检查都报错:mount.nfs: access denied by server while mounting
一夕如环
2019/08/29
2K0
K8s——数据持久化
数据的持久化一直都是需要我们非常关心的问题,docker如此,K8s也不例外。在k8s中,有一个数据卷的概念。
小手冰凉
2020/09/11
2.2K0
k8s如何指定使用ceph-fuse
本来想使用ceph-fuse,结果一直在报mount can't read super block的错误,但是我只给主机安装了ceph-fuse的rpm包,kublet居然在使用内核的挂载方式挂载cephfs,这简直是不能再有的错误,可是如何指定kubelet来使用ceph-fuse来进行cephfs的挂载呢,我google了一大圈,都没人讲这个小问题。 后来实在无奈,直接翻了源码: kubernetes/pkg/volume/cephfs/cephfs.go
domain0
2020/04/27
2.3K0
k8s创建pv&pvc
k8s提供了emptyDir,hostPath,rbd,cephfs等存储方式供容器使用,不过这些存储方式都有一个缺点:开发人员必须得知指定存储的相关配置信息,才能使用存储.例如要使用cephfs,Pod的配置信息就必须指明cephfs的monitor,user,selectFile等等,而这些应该是系统管理员的工作.对此,k8s提供了两个新的API资源:PersistentVolume,PersistentVolumeClaim
全栈程序员站长
2022/06/29
1.1K0
CentOS 6.5 NFS配置教程
NFS是Network File System的缩写,它的主要功能是通过网络让不同的机器系统之间可以彼此共享文件或目录
TSINGEYE清眸物联
2023/01/04
9440
CentOS 6.5 NFS配置教程
Linux NFS挂载报错wrong fs type, bad option, bad superblock
我的测试环境有一个NAS,之前配置都是按照测试需求在/etc/fstab里添加配置挂载选项: vi /etc/fstab
Alfred Zhao
2020/07/14
5.1K0
NFS网络文件系统基础配置与使用
[TOC] 0x00 前言简述 描述: 先来学习三大步,任何事物皆可用; Q: 什么是NFS?为什么要NFS? 描述:NFS(Network File System)即网络文件系统, 利用网络使得在
全栈工程师修炼指南
2022/09/28
4K0
NFS网络文件系统基础配置与使用
Linux NFS服务器配置与多节点部署详解
收到,我将以默语博主的身份,为零基础的新手撰写一篇完整且详细的《Linux——NFS服务器配置》技术博客。 内容将基于CentOS/Linux服务器,涵盖NFS概念、通讯原理、优缺点、安装部署(包括多节点、多服务器环境)、详细命令解释、常见错误与排查方法,并包含适用于k8s集群环境的挂载示例。 我会使用Markdown格式,结构清晰,操作步骤详细,示例丰富,便于小白理解。 马上为你整理好,请稍等!
默 语
2025/04/28
3810
Linux NFS服务器配置与多节点部署详解
Longhorn 云原生容器分布式存储 - 故障排除指南
当 Longhorn 卷的文件系统损坏时,Longhorn 无法重新挂载该卷。因此,workload 无法重新启动。
为少
2021/10/25
3.7K0
Longhorn 云原生容器分布式存储 - 故障排除指南
TKE使用nfs文件系统
本文主要实践TKE集群使用nfs文件系统,包括使用cfs-csi(新创建实例,共享新实例),静态nfs挂载,已有实例共享挂载
williamji
2024/07/31
1820
kubernetes系列教程(九)初识Pod存储管理
上一篇文章中kubernetes系列教程(八)Pod健康检查机制介绍了kubernetes中Pod健康检查机制,通过实战介绍了kubernetes中两种健康检查探针:livenessProbe存活检查,readinessProbe就绪检查,存活检查用于检查应用的可用性,就绪检查用于检查容器是否准备接受流量,健康检查包含三种探测的方法:exec命令行探测,tcpSocket端口检测,httpGet请求检测,分别适用于不同场景下的健康检查。接下来介绍kubernetes系列教程pod的存储管理。
HappyLau谈云计算
2019/10/08
4.6K3
kubernetes系列教程(九)初识Pod存储管理
相关推荐
TKE操作指南 - 容器化业务操作排错总结(十七)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档