我将Python脚本作为Kubernetes作业运行。但我有下一个问题。我已经尝试过使用chmod -R 777 /home/vagrant/
,但它不能使脚本成功运行。
Traceback (most recent call last):
File "app.py", line 39, in <module>
main()
File "app.py", line 28, in main
config.load_kube_config(config_file=kubeconfig)
File "/usr/local/lib/python3.6/site-packages/kubernetes/config/kube_config.py", line 470, in load_kube_config
config_persister=config_persister)
File "/usr/local/lib/python3.6/site-packages/kubernetes/config/kube_config.py", line 427, in _get_kube_config_loader_for_yaml_file
with open(filename) as f:
FileNotFoundError: [Errno 2] No such file or directory: '/home/vagrant/.kube/config'
正如您所看到的,脚本失败是因为这样的文件不存在,但是当我执行ls
时,该文件显示它确实存在。
vagrant@vagrant:/vagrant/podsLister$ kubectl delete job pod-lister
job.batch "pod-lister" deleted
vagrant@vagrant:/vagrant/podsLister$ ls /home/vagrant/.kube/
cache config http-cache
发布于 2018-07-09 08:12:50
问题是脚本在Docker容器中运行。该容器有自己的文件系统,而不是恰好托管它的任何机器的文件系统。事实上,这就是容器的大部分要点:它们的行为就像一台孤立的、独立的计算机,而不需要一台实际的独立计算机。
解决方案不是很明显,因为它不清楚为什么你期望它能工作,或者你想要做什么。可能有意义的事情包括:
https://stackoverflow.com/questions/51236390
复制相似问题