K8S 问题与解决方案汇总

文章讲述了在Kubernetes(K8s)环境下,pod配置的环境变量无法在shshell中查询到,原因是容器内的/bin/sh实际指向dashshell而非bashshell。解决方案是在Dockerfile中修改sh的软连接,使其指向bash。
摘要由CSDN通过智能技术生成


一、pod配置环境变量,在pod中无法查询

在这里插入图片描述
pod中配置了多种环境变量,均无法查询到,起初以为"小数点."是特殊符号无法命名,后来发现我在k8s中设置的变量只注入到了bash shell 中,却没有注入到sh shell里,但是通常情况下,我们的/bin/sh 只是一个指向/bin/bash的软连接,不应该出现不一致的情况。

但是我登陆容器之后通过 ls -lh /bin/sh 命令发现,容器中的 /bin/sh 实际指向的却是dash shell 。

后来查阅资料发现debain和ubuntu的系统都是默认指向了dash , 而我使用的基础镜像恰好是基于debain的。

解决办法:
只要修改一下sh的软连接指向即可,在dockerfile中运行如下命令:

#解决debain和ubuntu的系统/bin/sh都是默认指向了dash,无法获取环境变量
RUN  ln -sf /bin/bash /bin/sh

结尾

  • 感谢大家的耐心阅读,如有建议请私信或评论留言。
  • 如有收获,劳烦支持,关注、点赞、评论、收藏均可,博主会经常更新,与大家共同进步
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Xd聊架构

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值