小编dan*_*man的帖子

PodDisruptionBudgets 是否优先于 Horizo​​ntalPodAutoscalers?

如果您的 PDB 指定的值高于HPA 的minAvailableminReplicas,那么 pod 的数量是否会达到较低的值minReplicas

配置示例:

PDB

apiVersion: policy/v1beta1
kind: PodDisruptionBudget
metadata:
  name: frontend-pdb
spec:
  minAvailable: 3 # HERE
  selector:
    matchLabels:
      app: frontend
Run Code Online (Sandbox Code Playgroud)

羟丙酸

apiVersion: autoscaling/v2beta2
kind: HorizontalPodAutoscaler
metadata:
  name: frontend-hpa
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: frontend-deployment
  minReplicas: 2 # AND HERE
  maxReplicas: 20
  metrics:
  - type: Resource
    resource:
      name: cpu
      target:
        type: Utilization
        averageUtilization: 65
Run Code Online (Sandbox Code Playgroud)

我想象将 PDB 设置为 % 而不是绝对值可以解决这种潜在的冲突,但我很好奇两者如何相互作用。

kubernetes horizontal-pod-autoscaling

9
推荐指数
1
解决办法
3106
查看次数

Kubernetes NodeJS 消耗超过 1 个 CPU?

我们在 Pod 中运行单个 NodeJS 实例,请求 1 个 CPU,并且没有限制。经过负载测试,我们观察到以下情况:

NAME                                                CPU(cores)   MEMORY(bytes)
backend-deployment-5d6d4c978-5qvsh                  3346m        103Mi
backend-deployment-5d6d4c978-94d2z                  3206m        99Mi
Run Code Online (Sandbox Code Playgroud)

如果NodeJS只运行一个线程,它怎么会消耗超过1000m的CPU,当直接在Node上运行时它只使用一个核心?kubernetes 是否以某种方式让它跨核心借用时间?

node.js kubernetes

9
推荐指数
1
解决办法
2754
查看次数

Google Pub/Sub 每约 5 条消息仅发送给一个订阅

我已经让 3 个客户端连接到一个订阅和一个发布者。在图像 2 中,订阅位于终端上,一个订阅未看到,因为它托管在 DigitalOcean Droplet 上。似乎每 5 条消息,它就会切换哪个订阅者实际收到消息,这不应该发生。我也改变了速度,它总是大约 5 条消息。

以下是所有客户端用于订阅的代码:

sub.on("message", (msg) => {
  console.log(`Message:1 ${msg.data.toString("utf-8")}`)
  msg.ack()
})
Run Code Online (Sandbox Code Playgroud)

这是发布的代码:

console.log("send")
topic.publish(Buffer.from("hey"), {
        channelId: "641273551806267403"
    })
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

publish-subscribe google-cloud-platform google-cloud-pubsub

0
推荐指数
1
解决办法
1700
查看次数