我有一个连接到kubernetes python客户端的 flask应用。我通过minikube在本地运行,并手动设置与kubernetes python api的连接,如下所示:
trackID
基本上,我的烧瓶应用程序中有端点,例如from kubernetes import config,client
configuration = kubernetes.client.Configuration()
configuration.api_key['authorization'] = 'my decoded token from service account'
configuration.api_key_prefix['authorization'] = 'Bearer'
configuration.ssl_ca_cert = '/etc/secret-volume/ca-cert-chain'
configuration.cert_file = 'cert.crt'
configuration.key_file = '/etc/secret-volume/secret-key'
configuration.verify_ssl = False
configuration.assert_hostname = False
v1 = kubernetes.client.CoreV1Api(kubernetes.client.ApiClient(configuration))
/pods
等。例如:
/services
运行@app.route('/pods')
def pods():
ret = v1.list_pod_for_all_namespaces(watch=False)
return jsonify(ret)
可以为我的服务minikube service list
提供此服务,因此我认为id可以运行https://192.168.24.73:30000
并使其返回豆荚。但是我收到此URL找不到错误:
curl -k https://192.168.24.73:30000/pods
我的网址不正确吗?我觉得它应该工作。
但是,我确实在我的kube配置文件中注意到服务器列为Traceback (most recent call last):
File "/usr/local/lib/python3.5/site-packages/flask/app.py", line 2309, in __call__
return self.wsgi_app(environ, start_response)
File "/usr/local/lib/python3.5/site-packages/flask/app.py", line 2295, in wsgi_app
response = self.handle_exception(e)
File "/usr/local/lib/python3.5/site-packages/flask/app.py", line 1741, in handle_exception
reraise(exc_type, exc_value, tb)
File "/usr/local/lib/python3.5/site-packages/flask/_compat.py", line 35, in reraise
raise value
File "/usr/local/lib/python3.5/site-packages/flask/app.py", line 2292, in wsgi_app
response = self.full_dispatch_request()
File "/usr/local/lib/python3.5/site-packages/flask/app.py", line 1815, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/local/lib/python3.5/site-packages/flask/app.py", line 1718, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "/usr/local/lib/python3.5/site-packages/flask/_compat.py", line 35, in reraise
raise value
File "/usr/local/lib/python3.5/site-packages/flask/app.py", line 1813, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/local/lib/python3.5/site-packages/flask/app.py", line 1799, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "/usr/src/app/myapp.py", line 133, in list_pods
ret = v1.list_pod_for_all_namespaces(watch=False)
File "/usr/local/lib/python3.5/site-packages/kubernetes/client/apis/core_v1_api.py", line 13608, in list_pod_for_all_namespaces
(data) = self.list_pod_for_all_namespaces_with_http_info(**kwargs)
File "/usr/local/lib/python3.5/site-packages/kubernetes/client/apis/core_v1_api.py", line 13705, in list_pod_for_all_namespaces_with_http_info
collection_formats=collection_formats)
File "/usr/local/lib/python3.5/site-packages/kubernetes/client/api_client.py", line 321, in call_api
_return_http_data_only, collection_formats, _preload_content, _request_timeout)
File "/usr/local/lib/python3.5/site-packages/kubernetes/client/api_client.py", line 155, in __call_api
_request_timeout=_request_timeout)
File "/usr/local/lib/python3.5/site-packages/kubernetes/client/api_client.py", line 342, in request
headers=headers)
File "/usr/local/lib/python3.5/site-packages/kubernetes/client/rest.py", line 231, in GET
query_params=query_params)
File "/usr/local/lib/python3.5/site-packages/kubernetes/client/rest.py", line 222, in request
raise ApiException(http_resp=r)
kubernetes.client.rest.ApiException: (404)
Reason: NOT FOUND
,所以我尝试运行
https://192.168.24.73:8443
,它会返回Pod的正确json输出。这里有我误会的东西吗?端点为什么不连接到api?预先感谢