我在 Azure 中有一个 AKS 集群,它正在运行我的 Azure 函数项目。我按照本指南使其工作。
https://markheath.net/post/azure-functions-aks-keda
该服务正在运行,但是来自我的站点的任何请求都失败并出现 CORS 错误。如果您在指南中注意到该CORS
选项*
在 local.settings.json 文件中设置。
我注意到 azure 函数在容器内运行时似乎不会读取local.settings.json
or文件。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
请注意,那里根本没有提及CORS
in ,即使是针对LoadBalancer
.
我已经做了一些研究,看起来其他人将负载均衡器更改nginx
为反向代理来处理这个问题。我不确定这对我来说是一个选项,也不确定它在使用DurableFunctions
和KEDA
缩放时会产生什么影响,我不想做任何可能破坏该功能的事情。
FunctionApp 是用 C# 编写的
我对 Kubernetes 很陌生,所以如果您能提供帮助,请提供尽可能详细的信息。