豆荚下降到 0,但它不会旋转超过 1 个豆荚。即使订阅中超过 5mgs 根据建议更新了代码。
添加了 TriggerAuthentication 并使用 connectionString 作为身份验证。尝试发送大约 25 条消息,但 pod 仍然没有扩大。
只有一个 pod 正在处理所有消息。我需要更新什么吗
apiVersion: keda.k8s.io/v1alpha1
kind: TriggerAuthentication
metadata:
name: azure-servicebus-auth
spec:
secretTargetRef:
- parameter: connection
name: mdsp-secret-infra
key: service_bus_conn_str
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: xyz-test
labels:
app: xyz-test
spec:
selector:
matchLabels:
app: xyz-test
template:
metadata:
labels:
app: xyz-test
spec:
initContainers:
- name: mdsp-java-init
image: aksacrname.azurecr.io/ops/mdsp-init-java:1.0
imagePullPolicy: Always
resources: {}
volumeMounts:
- name: azure
mountPath: /mnt/azure
- name: cert-storage
mountPath: /certs
volumes:
- name: azure
azureFile:
shareName: certs
secretName: mdsp-secret-iots-sa
readOnly: true
- name: cert-storage
emptyDir: {}
- name: "logging-volume-azure-file"
persistentVolumeClaim:
claimName: "pvc-azure-file-logging"
containers:
- name: xyz-test
image: mdspaksdevacr.azurecr.io/iots/xyz-test:aksacrversion
resources:
limits:
cpu: 3
memory: 2Gi
requests:
cpu: 1
memory: 1Gi
imagePullPolicy: Always
env:
- name: mdsp_product_line
value: "iiotservices"
- name: mdsp_application_name
value: "xyz-test"
- name: eh_connection_string
valueFrom:
secretKeyRef:
name: mdsp-secret-iots-kv
key: LOGGING_EH_CON_STRING
- name: log_base_path
value: "/mnt/logging"
- name: app.logging.console.enabled
value: "true"
- name: ai_instrumentation_key
valueFrom:
secretKeyRef:
name: mdsp-secret-iots-kv
key: APPINSIGHT_KEY
- name: MDSP_HOST_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: MDSP_HOST_IP
valueFrom:
fieldRef:
fieldPath: status.podIP
- name: APPLICATION_NAME
value: "xyz-test"
- name: logging.level.com.siemens.mindsphere
value: "INFO"
- name: PRODUCTLINE_NAME
value: "iiotServices"
- name: environment
value: "azEnvironment"
- name: CONNECTION_TIMEOUT_MS
value: "10000"
- name: GATEWAY_URI
value: "https://gateway.core.mindsphere.local"
- name: UPDATES_SERVICE_BUS_TOPIC_NAME
value: "internal-iiot-meta-data-updates-topic"
- name: ASSET_CLIENTID
value: asset
- name: AM_BASE_URL
value: "https://gateway.core.mindsphere.local/api/assetmanagement/v3"
- name: CORE_AUTH_TOKEN_URL
valueFrom:
configMapKeyRef:
name: mdsp-iots-configmap
key: OAUTH_TOKEN_URI
- name: amServiceBusConnectionString
valueFrom:
secretKeyRef:
name: mdsp-iots-secret-infra
key: advs_servicebus_conn_str
- name: feedbackServiceBusConnectionString
value: "Endpoint=sb://iot-test-rc.servicebus.windows.net/;SharedAccessKeyName=Testkey;SharedAccessKey=test"
- name: UPDATES_SERVICE_BUS_CONN_STR
valueFrom:
secretKeyRef:
name: mdsp-iots-secret-infra
key: iots_service_bus_conn_str
- name: AZURE_CLIENT_ID
valueFrom:
secretKeyRef:
name: mdsp-secret-iots-kv
key: KEYVAULT_CLIENT_ID
- name: AZURE_CLIENT_SECRET
valueFrom:
secretKeyRef:
name: mdsp-secret-iots-kv
key: KEYVAULT_CLIENT_KEY
- name: AZURE_SUBSCRIPTION_ID
valueFrom:
secretKeyRef:
name: mdsp-secret-iots-kv
key: SUBSCRIPTION_ID
- name: AZURE_TENANT_ID
valueFrom:
secretKeyRef:
name: mdsp-secret-iots-kv
key: TENANT_ID
- name: KV_CLIENT_ID
valueFrom:
secretKeyRef:
name: mdsp-secret-iots-kv
key: KEYVAULT_CLIENT_ID
- name: KV_CLIENT_SECRET
valueFrom:
secretKeyRef:
name: mdsp-secret-iots-kv
key: KEYVAULT_CLIENT_KEY
- name: JAVA_OPTS
value: >-
-Djavax.net.ssl.trustStore=/certs/cacerts
-Xmx2500m
- name: KEYVAULT_URI
valueFrom:
configMapKeyRef:
name: mdsp-iots-configmap
key: IOTS_KEYVAULT_URI
- name: COSMOS_URL
valueFrom:
configMapKeyRef:
name: mdsp-iots-configmap
key: IOT_COSMOS_URI
- name: default_key
valueFrom:
secretKeyRef:
name: mdsp-iots-secret-infra
key: iots_cosmos_db_conn_key
- name: COSMOS_DB_NAME
valueFrom:
configMapKeyRef:
name: mdsp-iots-configmap
key: IOT_COSMOS_DB_AM
- name: COSMOS_CONTAINER_NAME
valueFrom:
configMapKeyRef:
name: mdsp-iots-configmap
key: IOT_COSMOS_CON_AM
- name: default_secret_name
valueFrom:
secretKeyRef:
name: mdsp-secret-iots-tu
key: iots_bulk_data_stream
- name: MINDSPHERE_SECURITY_OAUTH2_CLIENT_ASSET_ACCESSTOKENURI
valueFrom:
configMapKeyRef:
name: mdsp-iots-configmap
key: OAUTH_TOKEN_URI
- name: MINDSPHERE_SECURITY_OAUTH2_CLIENT_ASSET_ID
value: "iottest"
volumeMounts:
- name: cert-storage
mountPath: /certs
- name: "logging-volume-azure-file"
mountPath: "/mnt/logging"
imagePullSecrets:
- name: mdsp-secret-iots
dnsPolicy: ClusterFirst
terminationGracePeriodSeconds: 30
---
apiVersion: keda.k8s.io/v1alpha1
kind: ScaledObject
metadata:
name: xyz-test-scaler-dev
labels:
app: xyz-test
deploymentName: xyz-test
spec:
scaleTargetRef:
deploymentName: xyz-test
minReplicaCount: 0
maxReplicaCount: 3
pollingInterval: 1
triggers:
- type: azure-servicebus
metadata:
# Required
topicName: am-removal-test
subscriptionName: am-subs
namespace: iot-sbus-rc
# Optional, can use TriggerAuthentication as well
connection: feedbackServiceBusConnectionString
# This must be a connection string for a queue itself, and not a namespace level (e.g. RootAccessPolicy) connection string [#215](https://github.com/kedacore/keda/issues/215)
# Optional
queueLength: "2"
authenticationRef:
name: azure-servicebus-auth
---
得到错误:
Conditions:
Type Status Reason Message
---- ------ ------ -------
AbleToScale True SucceededGetScale the HPA controller was able to get the target's current scale
ScalingActive False FailedGetExternalMetric the HPA was unable to compute the replica count: unable to get external metric iots-dev/queueLength/&LabelSelector{MatchLabels:map[string]string{deploymentName: xyz,},MatchExpressions:[]LabelSelectorRequirement{},}: unable to fetch metrics from external metrics API: the server is currently unable to handle the request (get queueLength.external.metrics.k8s.io)
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning FailedGetExternalMetric 2m17s (x2591 over 5h53m) horizontal-pod-autoscaler unable to get external metric iots-dev/queueLength/&LabelSelector{MatchLabels:map[string]string{deploymentName: xyz,},MatchExpressions:[]LabelSelectorRequirement{},}: unable to fetch metrics from external metrics API: the server is currently unable to handle the request (get queueLength.external.metrics.k8s.io)
运行命令后:
```
api版本:apiregistration.k8s.io/v1
166种:APIService
167元数据:
168 个注释:
169 kubectl.kubernetes.io/last-applied-configuration: |
170 {"apiVersion":"apiregistration.k8s.io/v1beta1","kind":"APIService","metadata":{"annotations":{},"name":"v1beta1.external.metrics.k8s.io "},"spec":{"group":"external.metrics.k8s.io","groupPriorityMinimum":100,"insecureSkipTLSVerify":true,"service":{"name":"custom-metrics-azure- apiserver","namespace":"custom-metrics"},"version":"v1beta1","versionPriority":100}}
171 创建时间戳:“2020-09-15T15:48:18Z”
172 名称:v1beta1.external.metrics.k8s.io
173 资源版本:“13008780”
174 自链接:/apis/apiregistration.k8s.io/v1/apiservices/v1beta1.external.metrics.k8s.io
175 用户识别码:a6a72678-001f-4378-ba10-cbff7d8c0ad2
176 规格:
177组:external.metrics.k8s.io
178组优先级最低:100
179 不安全的跳过TLS验证:真
180服务:
181 名称:custom-metrics-azure-apiserver
182 命名空间:自定义指标
183端口:443
184版本:v1beta1
185版本优先级:100
186状态:
187个条件:
188 - 上次转换时间:“2020-10-27T12:19:19Z”
189 消息:“custom-metrics”中的 service/custom-metrics-azure-apiserver 不存在
190 原因:ServiceNotFound
191 状态:“假”
192型:可用