1. 部署报错:The requested fsGroup is 123, but the volume local-pv-c7ef339e has GID 1000710000. The volume may not be shareable.

问题描述:

部署 CNF(pod 集群) 时,pod 中的 container crash,events 报错:

Warning AlreadyMountedVolume 11m kubelet The requested fsGroup is 123, but the volume local-pv-c7ef339e has GID 1000710000. The volume may not be shareable.

问题分析:

为什么 volume 这里会有 GID 1000710000,这个 GID 又是从哪来的呢?

查阅文档结合自己的理解,volume 本身是没有 GID 的,对于 volume 来说只有绑定的 uid 限制。既然不是 volume 自带的,那这个 GID 从何而来呢?

查看 volume mount 到 container 的目录,发现文件组权限都是 GID 1000710000。而 mount 的 pod fsGroup 是 123(uid, gid 都不是 1000710000)。

那么,大胆猜测会不会有另外一个 container mount 了这个 volume 到相同目录,并且是在 crash container 创建之前 mount 的。这样就能解释,这个文件实际的拥有者是另外

一个 container。

顺着这个思路往下走,是哪个 container 呢?创建的 CNF 通过 helm chart 部署的,在这个 pod 创建之前的 pod,会不会是 helm hook 调用的 pre pod,查看 pod 果然有一个 pod

mount 了这个 volume,查看该 pod 的 securityContext 发现正是 GID 1000710000!

结论:

helm chart 部署 pod 时,helm hook 调用的 pre pod mount 了主 pod 的 volume,而 pre pod 和主 pod 的用户权限不一致,并且和主 pod mount 的是同一目录,导致主 pod 启动时,

尝试读写 volume 失败,crash。

解决方式:

将 pre pod 的 securityContext 设置成和主 pod 一致。

2. podman 报错:stat /run/user/xx: no such file or directory

$ podman ps -a

ERRO[0000] stat /run/user/1002: no such file or directory

执行 podman 命令显示 no such file or directory,新建 /run/user/1002,重新执行,成功!


Kubernetes 疑难杂症汇总的更多相关文章

  1. 原创:LNMP架构部署个人博客网站 禁止转载复制

    nginx编译安装步骤 ①. 检查软件安装的系统环境 cat /etc/redhat-release uname -r ②. 安装nginx的依赖包(pcre-devel openssl-devel) ...

  2. Nginx初步入门

    1.Nginx介绍 官网:nginx.org Nginx ("engine x") 是一个开源的.支持高性能.高并发的WWW服务和代理服务软件. 它是由俄罗斯人IgorSysoev ...

  3. 99% 的人都不知道的 Kubernetes 网络疑难杂症排查方法

    原文链接:Kubernetes 网络疑难杂症排查分享 大家好,我是 roc,来自腾讯云容器服务 (TKE) 团队,经常帮助用户解决各种 K8S 的疑难杂症,积累了比较丰富的经验,本文分享几个比较复杂的 ...

  4. 折腾kubernetes各种问题汇总-<1>

    折腾kubernetes各种问题汇总-<1> 折腾部署fluend-elasticsearch日志,折腾出一大堆问题,解决这些问题过程中,感觉又了解了不少. 如何删除不一致状态下的rc,d ...

  5. APM(pixhawk)飞控疑难杂症解决方法汇总(持续更新)

    本文转自下面博主 https://blog.csdn.net/junzixing/article/details/79310159 APM/Pixhawk常用链接汇总(持续更新) https://bl ...

  6. kubernetes 报错汇总

    一. pod的报错: 1. pod的容器无法启动报错: 报错信息: Normal SandboxChanged 4m9s (x12 over 5m18s) kubelet, k8sn1 Pod san ...

  7. 折腾kubernetes各种问题汇总

    折腾fluend-elasticsearch日志,折腾出一大堆问题,解决这些问题过程中,感觉又了解了不少. 1.如何删除不一致状态下的rc,deployment,service. 在某些情况下,经常发 ...

  8. .NET Core Run On Docker By Kubernetes 系列文章汇总

    前言介绍 .NET Core是微软新一代主力编程平台,开源.免费.跨平台.轻量级.高性能,支持Linux.Docker.k8s等环境,适合开发微服务.云原生.大型互联网应用.全开源解决方案. Dock ...

  9. kubernetes 基本概念和资源对象汇总

    kubernetes 基本概念和知识点脑图 基本概念 kubernetes 中的绝大部分概念都抽象成kubernets管理的资源对象,主要有以下类别: Master : Master节点是kubern ...

  10. kubernetes部署Fluentd+Elasticsearch+kibana 日志收集系统

    一.介绍 1. Fluentd 是一个开源收集事件和日志系统,用与各node节点日志数据的收集.处理等等.详细介绍移步-->官方地址:http://fluentd.org/ 2. Elastic ...

随机推荐

  1. LeetCode190:颠倒二进制(位运算分治! 时间复杂度O(1))

    解题思路:这道题很两种解法,常规的就是O(n),另一种就是巧妙的利用位运算实现分治,时间复杂度O(1),类似于归并排序.不过这个递归不是自顶向下,而是巧用位运算从自底向上实现. 比如01001000通 ...

  2. MySQL5.7允许远程root访问

    MySQL5.7允许远程root访问 登录你的服务器MySQL mysql -u root -p MySQLroot密码 GRANT ALL PRIVILEGES ON *.* TO 'root'@' ...

  3. 开源云原生网关Linux Traefik本地部署结合内网穿透远程访问

      开源云原生网关Linux Traefik本地部署结合内网穿透远程访问 前言 Træfɪk 是一个云原生的新型的 HTTP 反向代理.负载均衡软件,能轻易的部署微服务.它支持多种后端 (Docker ...

  4. 从C++CLI工程的依赖库引用问题看.Net加载程序集机制

    问题 最近在为某第三方MFC项目写C++/CLI工程插件时遇到了如下一个问题: MFC的工程不允许把.Net的依赖程序集放到执行程序的目录(防止影响其稳定性),依赖库只能放到非执行程序子目录的其他目录 ...

  5. 文心一言 VS 讯飞星火 VS chatgpt (61)-- 算法导论6.4 5题

    文心一言 VS 讯飞星火 VS chatgpt (61)-- 算法导论6.4 5题 五.证明:在所有元素都不同的情况下,HEAPSORT 的时间复杂度是 Ω (nlgn). 文心一言: 要证明在所有元 ...

  6. Spring系列:基于注解的方式构建IOC

    目录 一.搭建子模块spring6-ioc-annotation 二.添加配置类 三.使用注解定义 Bean 四.@Autowired注入 五.@Resource注入 六.全部代码 从 Java 5 ...

  7. Markdown 编辑器及语法使用入门指南

    一.如何打开预览? 打开在线编辑器 - 点击如图所示 - 写作预览按钮即可: 如图所示,编写下面 Markdown 语法,进行对应语法的编写,愉快的写作了! 左侧 Markdown 语法 右侧实时显示 ...

  8. 华为云API Explorer重磅推出API编排,开发者0代码高效构建工作流

    本文分享自华为云社区<华为云API Explorer重磅推出API编排,开发者0代码高效构建工作流(体验用户招募中)>,作者:华为云PaaS服务小智. 打破传统开发模式,API编排应运而生 ...

  9. 技术实践丨PostgreSQL开启Huge Page场景分析

    PostgreSQL用户经常发现,服务端在连接数较大的情况下,会出现系统内存消耗过多的情况,严重者可能会造成OOM.但是服务端配置的共享内存(shared_buffers,wal_buffers等)是 ...

  10. 知识+AI融合创新探索,华为云论文被AI顶级学术期刊IEEE TPAMI接受

    摘要:通过利用物体类别之间存在的层级关系约束,自动学习从数据中抽取识别不同类别的规则,一方面对模型的预测过程进行解释,另一方面也提供了一条引入人工先验知识的可行途径. 前言 受益于深度学习技术的突破, ...