- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已在 AKS 上部署了用 Java 编写的事件中心触发的 Azure 函数。该功能应使用 KEDA 进行扩展。该功能已正确触发并工作,但当负载增加时它不会扩展。我在函数实现中添加了 sleep 调用,以确保它不会过快地消耗事件,并且应该强制扩展,但这也没有显示任何变化。
kubectl get hpa 显示以下输出
NAME REFERENCE TARGETS MINPODS MAXPODS REPLICAS AGE
keda-hpa-eventlogger Deployment/eventlogger 64/64 (avg) 1 20 1 3m41s
这似乎是第一个表明某些内容不正确的指标,因为我假设目标列中的第一个数字是事件中心中未处理事件的数量。无论我向集线器注入(inject)多少事件,这都保持不变。
该函数是使用以下 Kubernetes 部署 list 部署的
data:
AzureWebJobsStorage: <removed>
FUNCTIONS_WORKER_RUNTIME: amF2YQ==
EventHubConnectionString: <removed>
apiVersion: v1
kind: Secret
metadata:
name: eventlogger
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: eventlogger
labels:
app: eventlogger
spec:
selector:
matchLabels:
app: eventlogger
template:
metadata:
labels:
app: eventlogger
spec:
containers:
- name: eventlogger
image: <removed>
env:
- name: AzureFunctionsJobHost__functions__0
value: eventloggerHandler
envFrom:
- secretRef:
name: eventlogger
readinessProbe:
failureThreshold: 3
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 240
httpGet:
path: /
port: 80
scheme: HTTP
startupProbe:
failureThreshold: 3
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 240
httpGet:
path: /
port: 80
scheme: HTTP
---
apiVersion: keda.sh/v1alpha1
kind: ScaledObject
metadata:
name: eventlogger
labels:
app: eventlogger
spec:
scaleTargetRef:
name: eventlogger
pollingInterval: 5
cooldownPeriod: 5
minReplicaCount: 0
maxReplicaCount: 20
triggers:
- type: azure-eventhub
metadata:
storageConnectionFromEnv: AzureWebJobsStorage
connectionFromEnv: EventHubConnectionString
---
事件中心的连接字符串包含“EntityPath=”部分,如 KEDA Event Hub Scaler Documentation 中所述。并拥有事件中心命名空间的管理权限。
kubectl描述ScaledObject
的输出是
Name: eventlogger
Namespace: default
Labels: app=eventlogger
scaledobject.keda.sh/name=eventlogger
Annotations: <none>
API Version: keda.sh/v1alpha1
Kind: ScaledObject
Metadata:
Creation Timestamp: 2022-04-17T10:30:36Z
Finalizers:
finalizer.keda.sh
Generation: 1
Managed Fields:
API Version: keda.sh/v1alpha1
Fields Type: FieldsV1
fieldsV1:
f:metadata:
f:annotations:
.:
f:kubectl.kubernetes.io/last-applied-configuration:
f:labels:
.:
f:app:
f:spec:
.:
f:cooldownPeriod:
f:maxReplicaCount:
f:minReplicaCount:
f:pollingInterval:
f:scaleTargetRef:
.:
f:name:
f:triggers:
Manager: kubectl-client-side-apply
Operation: Update
Time: 2022-04-17T10:30:36Z
API Version: keda.sh/v1alpha1
Fields Type: FieldsV1
fieldsV1:
f:metadata:
f:finalizers:
.:
v:"finalizer.keda.sh":
f:labels:
f:scaledobject.keda.sh/name:
f:status:
.:
f:conditions:
f:externalMetricNames:
f:lastActiveTime:
f:originalReplicaCount:
f:scaleTargetGVKR:
.:
f:group:
f:kind:
f:resource:
f:version:
f:scaleTargetKind:
Manager: keda
Operation: Update
Time: 2022-04-17T10:30:37Z
Resource Version: 1775052
UID: 3b6a68c1-c3b9-4cdf-b5d5-41a9721ac661
Spec:
Cooldown Period: 5
Max Replica Count: 20
Min Replica Count: 0
Polling Interval: 5
Scale Target Ref:
Name: eventlogger
Triggers:
Metadata:
Connection From Env: EventHubConnectionString
Storage Connection From Env: AzureWebJobsStorage
Type: azure-eventhub
Status:
Conditions:
Message: ScaledObject is defined correctly and is ready for scaling
Reason: ScaledObjectReady
Status: False
Type: Ready
Message: Scaling is performed because triggers are active
Reason: ScalerActive
Status: True
Type: Active
Status: Unknown
Type: Fallback
External Metric Names:
s0-azure-eventhub-$Default
Last Active Time: 2022-04-17T10:30:47Z
Original Replica Count: 1
Scale Target GVKR:
Group: apps
Kind: Deployment
Resource: deployments
Version: v1
Scale Target Kind: apps/v1.Deployment
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal KEDAScalersStarted 10s keda-operator Started scalers watch
Normal ScaledObjectReady 10s keda-operator ScaledObject is ready for scaling
所以我有点困惑,因为我没有看到任何错误,但它仍然没有按预期运行。
版本:
最佳答案
能够找到问题的解决方案。
事件中心触发的 AKS 上部署的 Azure Functions 显示与应用服务上的 Azure Functions 显示的相同的缩放特征:
每个分区只能有一个消费者才能进行每个分区的排序。此特征优先于 Kubernetes 部署 list 中的 maxReplicaCount。
因此,为了解决我自己的问题:通过增加事件中心的分区,我为每个分区获得一个 Pod,并且 KEDA 按预期扩展工作负载。
关于azure - 事件中心触发在带有 KEDA 的 AKS 上运行的 Azure Function 无法横向扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71901186/
我使用“创建 Kubernetes 集群”功能在 Azure 门户中创建了我的 AKS 集群,并允许它创建新的服务主体。 我开始怀疑这个主体使用的凭据是否过期。为了避免 K8s 在凭证到期时与 Azu
文档描述了如何将 ACR 附加到现有的 AKS 群集,https://learn.microsoft.com/en-us/azure/aks/cluster-container-registry-in
我创建了一个 AKS 集群,并启用了 AKS 管理的 Azure Active Directory 和基于角色的访问控制 (RBAC)。如果我尝试使用 Admin Azure AD 组中包含的其中一个
因此,我可以在 AKS 的见解选项卡中清楚地看到每个容器的统计信息。这些必须来自某个地方,但我只能在查询日志/指标时找到每个节点的统计信息。我如何查询这个(为了构建一个工作簿)。 最佳答案 该数据位于
我遇到的情况是,我的 AKS 集群已经就位,有两个 AKS 集群,并且它们仅在其安全区域内部可用。我不想通过互联网从另一个集群访问集群内的内部资源。 我正在探索专用链接服务和端点,有什么建议吗? 两个
好吧,在过去的两天里,我一直在与这个文档作斗争: https://learn.microsoft.com/en-au/azure/aks/static-ip和 https://learn.micros
我正在尝试找出使用 AKS 和 VSTS 为 Asp.Net Core Web 应用程序设置 CI/CD 的步骤。 https://learn.microsoft.com/en-us/vsts/bui
我遇到的情况是,我的 AKS 集群已经就位,有两个 AKS 集群,并且它们仅在其安全区域内部可用。我不想通过互联网从另一个集群访问集群内的内部资源。 我正在探索专用链接服务和端点,有什么建议吗? 两个
只是一个问题,在微软页面上 https://learn.microsoft.com/en-us/azure/aks/configure-kubenet#bring-your-own-subnet-an
kubectl 任务无法将 list 文件部署到 AKS。管道失败并出现以下错误 ##[错误]未找到与/home/vsts/work/1/s/manifests 匹配的配置文件。 管道在运行两个阶段(
我一直在尝试设置 Kubernetes 1.13 AKS 部署以使用 HPA,但我一直遇到问题: NAME REFERENCE
我们公司封锁了 ssh 端口。如何使用 cloud shell ssh 进入 AKS 集群,以便我们可以从那里 curl 到外部 URL 来测试连接?谢了。 最佳答案 这实际上没有多大意义,但您只需要
我正在通过 azure 安装 istio az aks mesh enable --resource-group 'myrg' --name 'myk8s' 然后启用外部 istio 入口网关 az
查看地形 documentation我无法确定如何将 UAMI 分配为 kubelet_identity对于aks集群。 identity { ... }按照描述设置 controlPlane UAM
我正在通过 azure 安装 istio az aks mesh enable --resource-group 'myrg' --name 'myk8s' 然后启用外部 istio 入口网关 az
查看地形 documentation我无法确定如何将 UAMI 分配为 kubelet_identity对于aks集群。 identity { ... }按照描述设置 controlPlane UAM
我们可以从 Log Analytics Workspace 访问 pod 相关日志,但没有应用程序日志(类似于我们在 kubectl get events 中看到的)。 我指的是 Azure 文档,但
az aks create -n MyServices -g MyKubernetes --generate-ssh-keys 不工作。错误消息:az aks create -n Adestis-Se
我想知道如何通过 ssh 连接到 GKE 和 AKS 中的节点,以及如何在 Kubernetes 集群中安装 ELK 堆栈。 任何一步一步的链接都会对我有帮助。 无法使用此命令连接:gcloud co
使用azure aks get-credentials --admin可以获取kubernetes管理配置文件,azure aks get-credentials只能获取azure上的用户配置文件。
我是一名优秀的程序员,十分优秀!