K8s EphemeralContainer临时容器解读
提示:kubernetes 官网EphemeralContainer临时容器说明文档 https://kubernetes.io/docs/concepts/workloads/pods/ephemeral-containers/
EphemeralContainer临时容器主要用于临时登录Pod中没有bash或sh命令的容器,临时容器debug-tools工具通过shareProcessNamespace参数临时登录到Pod资源的容器进行故障排查问题等操作,临时容器排查完故障后,可立即删除该临时容器,提高了K8s安全性。
一、临时容器功能开启
提示:如果K8s 版本小于1.25需要手动开启临时容器功能,如果K8s版本大于1.25(包括1.25版本)默认已开启临时容器功能
1、开启临时容器(二进制方式安装的K8s)
### K8s版本小于1.25开启临时容器功能操作 vim /usr/lib/systemd/system/kube-apiserver.service # 添加以下参数并保存 -feature-gates=EphemeralContainers=true vim /etc/kubernetes/kubelet-conf.yml # 添加以下参数并保存 featureGates: EphemeralContainers: true # 重启所有服务kube-apiserver和kubelet systemctl restart kube-apiserver sytemctl restart kubelet
2、开启临时容器(kubeadm方式安装的K8s)
### K8s版本小于1.25开启临时容器功能操作 vim /etc/kubernetes/manifests/kube-apiserver.yam # 添加以下参数并保存 --feature-gates=EphemeralContainers=true vim /var/lib/kubelet/config.yaml # 添加以下参数并保存 featureGates: EphemeralContainers: true # 重启kubelet sytemctl restart kubelet
二、临时容器使用
注意:Pod资源的容器已被注入了临时容器只要Pod重启后临时容器自动会消失
提示:busybox镜像已安装了debug-tools工具,没有debug-tools工具的镜像是无法注入临时容器到Pod资源的容器里
### 使用kubectl create命令创建一个Deployment kubectl create deploy nginx-deploy -n default --image=registry.cn-shenzhen.aliyuncs.com/dockerghost/nginx:1.24 kubectl get deploy -n default kubectl get pods -n default ### 测试Nginx容器中没有wget命令 kubectl exec nginx-deploy-77f75cbd7f-nmvzj -n default -- wget www.baidu.com ### 注入busybox临时容器到Pod资源的容器里 kubectl debug nginx-deploy-77f75cbd7f-nmvzj -it --image=registry.cn-shenzhen.aliyuncs.com/dockerghost/busybox -n default ### 此时Nginx容器可以使用wget命令 wget www.baidu.com
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Rainbond上部署API Gateway Kong及环境配置教程
这篇文章主要为大家介绍了Rainbond上部署API Gateway Kong及环境配置教程,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2022-04-04
阿里云kubernetes查找镜像中jar包的方法(docker查看镜像中的jar)
这篇文章主要给大家介绍了关于阿里云kubernetes查找镜像中jar包的方法,也就是在docker查看镜像中的jar,文中通过图文介绍的非常详细,需要的朋友可以参考下2022-09-09
Hadoop 2.x与3.x 22点比较,Hadoop 3.x比2.x的改进
本文介绍了Hadoop3版本中添加的新功能,Hadoop 2和Hadoop 3的区别,在这篇文章中,我们将讨论Hadoop 2.x与Hadoop 3.x之间的比较。感兴趣的朋友跟随小编一起看一下2018-09-09
k8s kubectl启动成功,但执行命令时报错解决:The connection to&
用户使用kubectl时出现连接拒绝错误,排查发现配置文件名非admin.conf,修改后问题解决,提示需使用kubernetes-admin配置文件以确保正确性2025-08-08


最新评论