Проблема CORS с функциями Azure внутри кластера AKS

У меня есть кластер AKS в Azure, в котором запущен мой проект функций Azure. Я получил его, следуя этому руководству.

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

Служба работает, однако любые запросы с моего сайта завершаются с ошибкой CORS. Если вы заметили в руководстве CORS опция установлена ​​на * в файле local.settings.json.

Я заметил, что лазурные функции, похоже, не читают local.settings.json или же 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 там вообще, даже против LoadBalancer.

Я провел небольшое исследование, и похоже, что другие меняют балансировщик нагрузки на nginxкак обратный прокси, чтобы справиться с этим. Я не уверен, что это вариант для меня или какие будут последствия, если это использование DurableFunctions и KEDA для масштабирования, и я не хочу делать ничего, что могло бы нарушить эту функциональность.

Приложение FunctionApp написано на C#.

Я новичок в Kubernetes, поэтому, пожалуйста, расскажите как можно подробнее, если можете помочь.

0 ответов

Другие вопросы по тегам