我想用flask公开RESTful API。在后台,它将使用python kubernetes客户端库与kubernetes-api-server进行通信。同样,请求必须模拟进行。专门针对烧瓶路径的每个请求,都会有一个HTTP标头,其中包含用于模拟kube-api-server
调用的用户名。
我最初做的方式是在每个请求中,flask将创建一个新的client.ApiClient()
并将.default_headers
设置为使用模拟。最后,它将创建client.CoreV1Api(api)
对象并发出所需的请求。
但是我宁愿一次创建我的client.CoreV1Api(api)
,每个请求都将使用该对象。但是我认为这是不可能的,因为如果两个用户将在同一烧瓶路径中发出请求,那么在设置标题时会出现竞争条件。对于前。标头最初将使用用户A的名称设置。但是在A发出CoreV1Api
的请求之前,用户B的名称将覆盖标头,然后两个请求都将使用用户B的名称进行。
如果我的理解是正确的,我如何确保每个kube-api-server请求都将带有正确的标头?