kubernetes -- helm charts 开发: 8、 不进入容器而执行容器中命令的方法

1 问题


能否不进入容器执行容器内部的命令

2 分析


执行Pod的命令,默认是用Pod中的第一个容器执行

通过bash获得Pod中某个容器的TTY,相当于登录容器

kubectl exec -it <pod-name> -c <container-name> bash


3 解决方法


kubectl exec -it -n <namespace> <pod_name> <your_command>
注意:
请将 <namespace>替换为pod所在的命名空间
请将 <pod_name> 替换为真实的pod名称
请将 <your_command> 替换为真实的需要在容器中执行的命令

4 验证


1) 执行容器中的shell命令
kubectl exec -it -n <namespace> <pod_name> date
输出结果:
Sat Mar 1 09:58:40 CST 2018

2) 执行容器中的python命令
进入到容器中,在/root下面新建hello.py,并填写如下内容
print "hello"
执行如下命令
kubectl exec -it -n <namespace> <pod_name> python /root/hello.py
输出结果:
hello

参考:
[1] https://www.jianshu.com/p/8710a3a0aadd
[2] https://www.cnblogs.com/shuaiandjun/p/9563296.html
 

猜你喜欢

转载自blog.csdn.net/qingyuanluofeng/article/details/86654554