我正在将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
答案 0 :(得分:1)
问题是该脚本在Docker容器中运行。该容器具有自己的文件系统,而不是托管它的任何计算机的文件系统。也就是说,实际上,大多数容器的 point :它们的作用就像一台隔离的独立计算机,而无需使用 actual 独立计算机。
该解决方案不太明显,因为尚不清楚您为何希望此方法起作用,或者您打算做什么。可能有意义的事情包括: