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. JUC_start和run

    类型: run方法是同步 而start是异步 作用: run方法的作用是存放任务代码   ,start的方法是启动线程 线程数量方面: 执行run方法,他不会产生新线程,而执行start方法hi产生新 ...

  2. vue-test --------事件修饰符

    <template> <h3>事件修饰符</h3> <a @click="clickHandle" href="www.baid ...

  3. 数据仓库主流开发语言——SQL

    数仓开发语言概述  SQL语言介绍 数仓与SQL 结构化数据 二维表结构 SQL语法分类

  4. Cocos内存管理解析 CCRef/retain/release/autorelease

    Cocos内存管理源码(autorelease解析) 背景 这段时间在做项目的时候,需求需要往spine动作的挂点上绑定按钮节点,由于按钮在编辑器中是加在已有节点上的,所以在往spine上添加挂点时, ...

  5. 2023年国家基地“楚慧杯”网络安全实践能力竞赛初赛-Crypto+Misc WP

    Misc ez_zip 题目 4096个压缩包套娃 我的解答: 写个脚本直接解压即可: import zipfile name = '附件路径\\题目附件.zip' for i in range(40 ...

  6. NetSuite 开发日记:批量增删改

    一.批量插入/创建 使用 record.create() 插入数据时,一次只能插入一条,有多条数据需要插入时只能通过循环的方式,这样效率非常慢,耗时会随着数据量的增大而呈线性增长,有一种巧妙的方式可以 ...

  7. ElasticSearch之虚拟内存

    查看当前Linux系统中vm.max_map_count变量的值,命令如下: sysctl vm.max_map_count 执行结果的样例,如下: vm.max_map_count = 65530 ...

  8. 根据图片URL地址下载图片

    /// <summary> /// 下载图片 /// </summary> /// <param name="picUrl">图片Http地址& ...

  9. Blazor入门100天 : 身份验证和授权之 OpenID 与 OAuth2

    目录: OpenID 与 OAuth2 基础知识 Blazor wasm Gitee 码云登录 Blazor wasm GitHub 登录 Blazor wasm Google 登录 Blazor w ...

  10. 面试官:请说一下Mysql事务实现原理

    在日常工作中,数据库是我们必须使用的,其中使用最多的也是大部分中小公司的选择是Mysql,跳槽面试中也是必问的,今天我们就说一下Mysql事务 MySQL中的事务实现原理主要涉及以下几个方面: ACI ...