【发布时间】:2019-09-26 13:17:59
【问题描述】:
我需要使用新的 KEDA 事件驱动自动缩放器将我的 azure 函数部署到 AKS。函数绑定到服务总线队列并等待一些消息的到来。当我将功能部署脚本应用到 K8s 时,会创建新的部署和缩放对象,但会安排 0 个 pod 执行操作(队列中有一些消息)。
我创建了简单的函数只是为了说明相同的行为。 部署脚本
data:
AzureWebJobsStorage: <value>
FUNCTIONS_WORKER_RUNTIME: ZG90bmV0
ServiceBusConnection: <value>
apiVersion: v1
kind: Secret
metadata:
name: myqueuefunction
namespace: default
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: myqueuefunction
namespace: default
labels:
app: myqueuefunction
spec:
selector:
matchLabels:
app: myqueuefunction
template:
metadata:
labels:
app: myqueuefunction
spec:
containers:
- name: myqueuefunction
image: <container>
env:
- name: AzureFunctionsJobHost__functions__0
value: MyQueueFunction
envFrom:
- secretRef:
name: myqueuefunction
---
apiVersion: keda.k8s.io/v1alpha1
kind: ScaledObject
metadata:
name: myqueuefunction
namespace: default
labels:
deploymentName: myqueuefunction
spec:
scaleTargetRef:
deploymentName: myqueuefunction
triggers:
- type: azure-servicebus
metadata:
type: serviceBusTrigger
connection: ServiceBusConnection
queueName: importedqueue
name: myQueueItem
---
功能代码:
[FunctionName("MyQueueFunction")]
public static void Run(
[ServiceBusTrigger("importedqueue", Connection = "ServiceBusConnection")]
Message myQueueItem,
ILogger log)
{
log.LogInformation($"C# ServiceBus queue trigger function processed message: {myQueueItem}");
}
K8S
谁能建议至少如何调试它?还是我做错了什么?
【问题讨论】:
-
您能检查一下节点的剩余资源量吗?我怀疑资源是否已经耗尽。
标签: c# .net azure kubernetes azure-functions