gpt4 book ai didi

python - 无法连接到 kubernetes python api - 找不到 .kube/config 文件

转载 作者:太空狗 更新时间:2023-10-30 01:56:34 25 4
gpt4 key购买 nike

我在连接到 kubernetes python 客户端时遇到问题,即使我正在按照示例操作 here在 api 中。

基本上这一行无法连接到kubernetes客户端:

config.load_kube_config()

我在做什么:

我有一个像这样的 Dockerfile 文件,我正在用它来构建我的图像。这只是一个简单的 python/flask 应用程序。

FROM python:2

RUN mkdir -p /usr/src/app

WORKDIR /usr/src/app

COPY requirements.txt /usr/src/app/

RUN pip install --no-cache-dir -r requirements.txt

COPY . /usr/src/app

EXPOSE 5000

CMD [ "python", "./app.py" ]

这是我的requirements.txt:

Flask==1.0.2
gunicorn==19.8.1
kubernetes==6.0.0
requests # Apache-2.0

构建 Dockerfile 后输出:

    Successfully built a2590bae9fd9
Successfully tagged testapp:latest

但是当我执行 docker run a2590bae9fd9 时,我收到一个错误:

Traceback (most recent call last):
File "./app.py", line 10, in <module>
config.load_kube_config()
File "/usr/local/lib/python2.7/site- packages/kubernetes/config/kube_config.py", line 470, in load_kube_config
config_persister=config_persister)
File "/usr/local/lib/python2.7/site- packages/kubernetes/config/kube_config.py", line 427, in _get_kube_config_loader_for_yaml_file
with open(filename) as f:
IOError: [Errno 2] No such file or directory: '/root/.kube/config'

我以为它可能是我的 python 目录,但我检查过它在/usr/local/bin/python 中运行。

我真的很困惑 - 有什么建议/提示吗?谢谢你。

最佳答案

你不需要config.load_kube_config(),你想要config.load_incluster_config()

如果您需要区分您的设置和它何时在 Pod 中运行,一种机制是 if os.getenv('KUBERNETES_SERVICE_HOST'): config.load_incluster_config() 因为在 Pod 中肯定会在环境中,而不太可能在您的本地环境中。

关于python - 无法连接到 kubernetes python api - 找不到 .kube/config 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51032599/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com