0

我在 Azure 中有一个 AKS 集群,它正在运行我的 Azure 函数项目。我按照本指南使其工作。

https://markheath.net/post/azure-functions-aks-keda

该服务正在运行,但是来自我的站点的任何请求都失败并出现 CORS 错误。如果您在指南中注意到该CORS选项*在 local.settings.json 文件中设置。

我注意到 azure 函数在容器内运行时似乎不会读取local.settings.jsonor文件。settings.json

我不知道为什么,但要让它在本地运行,我必须将连接字符串设置为环境变量。

看起来是func kubernetetes deploy --dry-run > deploy.yml一样的,因为 yaml 看起来像这样:

data:
  AzureWebJobsStorage: ConnectionStringHere
  AzureSignalRConnectionString:  ConnectionStringHere
  AzureBlobStorage:  ConnectionStringHere 
  FUNCTIONS_WORKER_RUNTIME: ZG90bmV0
  FUNCTIONS_V2_COMPATIBILITY_MODE: dHJ1ZQ==
apiVersion: v1
kind: Secret
metadata:
  name: my-app-live
  namespace: default
---
apiVersion: v1 

请注意,那里根本没有提及CORSin ,即使是针对LoadBalancer.

我已经做了一些研究,看起来其他人将负载均衡器更改nginx为反向代理来处理这个问题。我不确定这对我来说是一个选项,也不确定它在使用DurableFunctionsKEDA缩放时会产生什么影响,我不想做任何可能破坏该功能的事情。

FunctionApp 是用 C# 编写的

我对 Kubernetes 很陌生,所以如果您能提供帮助,请提供尽可能详细的信息。

4

0 回答 0